【问题标题】:JPA timeout donot work wit Sql serverJPA 超时不适用于 Sql 服务器
【发布时间】:2013-06-08 04:15:42
【问题描述】:

全部。

我编写了一个使用 JPA 连接 Azure sql DB 的程序,在代码中,我将查询超时设置如下:

Map<String,Object> map = new HashMap<String, Object>();
map.put("javax.persistence.lock.timeout", 0);
return this.getEntityManager().find( cls, id,  LockModeType.PESSIMISTIC_WRITE,map);

我希望它会立即返回null,以防查询无法获得行下的锁。 但它不起作用,它总是在那里阻塞。

有什么问题吗?还是sqlserver驱动不支持超时?

非常感谢。

【问题讨论】:

    标签: sql-server jpa timeout


    【解决方案1】:

    可能不支持,但如果包含生成的 SQL,则可以确认。

    您也可以尝试设置查询超时,

    "eclipselink.jdbc.timeout"="100"
    

    或者,如果您使用的是 EclipseLink,则可以使用,

    "eclipselink.pessimistic-lock"="LockNoWait"
    

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 2021-08-09
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      相关资源
      最近更新 更多