java - 选择更新不起作用

标签 java mysql hibernate jboss

我的以下 native 查询不起作用:

Query createNativeQuery = entityManager.createNativeQuery(
   "select id from cscache where id=? for update ");

环境详细信息:

  1. MySQL 5.6
  2. Jboss 5.1
  3. JPA 1.0

错误:

2014-12-12 10:20:14,581 WARN [org.hibernate.util.JDBCExceptionReporter]

SQL Error: 1064, SQLState: 42000 (http-0.0.0.0-8543-3:)

2014-12-12 10:20:14,581 ERROR [org.hibernate.util.JDBCExceptionReporter] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 2' at line 1 (http-0.0.0.0-8543-3:)

最佳答案

对于更新基本上会在行上加锁,要使用 JPA 实现相同的效果,您需要使用 Lock Modes 。要设置锁定,您可以使用 EntityManager 或 TypeQuery 并使用 LockModeType.PESSIMISTIC_WRITE。

引用this article

关于java - 选择更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446755/

相关文章:

java - 代码复杂的Subject.doAs

java - InitialContext 在尝试查找时抛出异常

java - 如何检查 MySQL 表是否有来自 Java/Android 的下一行

spring - 我可以使用 Spring Data JPA 为 MappedSuperClass 的所有子级使用通用存储库吗?

java - 从接口(interface)方法中排除类的最有效方法

java - 迭代二维数组后仅打印一次消息

mysql - 计算比例

mysql - 如何使用sparklyr spark_write_jdbc连接MySql

java - hibernate :org.hibernate.hql.ast.QuerySyntaxException:意外的 token

java - 如何从 ResultSet 重建 sql 查询