Shv*_*alb 2 java postgresql hibernate
我正在尝试使用hibernate进行简单的SQL UPDATE查询,并将结果行映射到Hibernate实体(使用createSQLQuery)。
String updateQuery =
String.format("UPDATE \"user\" "
+ "SET chips_balance=chips_balance + %d, diamonds_balance=diamonds_balance + %d "
+ "WHERE id=%d", chips_delta, diamonds_delta, userId);
User user = (User)session.createSQLQuery(updateQuery).uniqueResult();
Run Code Online (Sandbox Code Playgroud)
这将引发异常:
org.hibernate.exception.GenericJDBCException: could not extract ResultSet
Run Code Online (Sandbox Code Playgroud)
原因:
org.postgresql.util.PSQLException: No results were returned by the query.
Run Code Online (Sandbox Code Playgroud)
我该如何进行这项工作?(使用RETURNING关键字)
这是实现它的方法:
String updateQuery =
String.format( "UPDATE \"user\" "
+ "SET chips_balance=chips_balance + %d, diamonds_balance=diamonds_balance + %d "
+ "WHERE id=%d "
+ "RETURNING *", 100, 5, 64);
User user = (User) session.createSQLQuery(updateQuery)
.addEntity(User.class)
.uniqueResult();
Run Code Online (Sandbox Code Playgroud)
该键使用“ RETURNING *”将其指向,并使用.addEntity(User.class)将其映射到实体
我希望它可以帮助某人...
| 归档时间: |
|
| 查看次数: |
1789 次 |
| 最近记录: |