查询TimeOut与MSSQL Server DB一起使用时,提示在Eclipse Link 2.6中不起作用
尝试以下选项。
1.向Query Selfself添加提示 查询查询= em.createNamedQuery(AlertCategoryType.FIND_ACTIVE_TYPES); query.setParameter(" isInactive",Boolean.FALSE); query.setHint( QueryHints.JDBC_TIMEOUT ," 1");
为命名查询添加了Eclipse链接提示 @NamedQuery(name =" AlertCategoryType.findByIsInactive",query =" SELECT a FROM AlertCategoryType a",hints = {@ QueryHint(name =" eclipselink.jdbc。超时",值=" 50")})
为命名查询添加了JPA提示 @NamedQuery(name =" AlertCategoryType.findByIsInactive",query =" SELECT a FROM AlertCategoryType a",hints = {@ QueryHint(name =" eclipselink.jdbc。超时",值=" 50")})
尝试在persistence.xml中添加属性
上述提示均无效。还有什么遗漏吗? 当使用任何具有MSSQL服务器数据库的持久性提供程序时,请建议任何解决方法以解决超时问题。
谢谢, Vittal
答案 0 :(得分:1)
如果以上都不适用于MS SQL Server,请尝试使用javax.persistence.query.timeout
。请记住,持久性提供程序和数据库都没有义务支持它。
如JPA 2.0规范第3.8.9章所述。查询提示:
便携式应用程序不应该依赖此提示。取决于 正在使用的持久性提供程序和数据库,提示可能会也可能不会 观察到的。
如果您不依赖于JPA 2.0,您可以尝试使用纯JDBC,因为它似乎得到支持: