在Hibernate中创建UPDATE RETURNING查询

时间:2012-03-12 18:20:55

标签: java database oracle hibernate

在Oracle中,我们可以创建一个更新查询,使用RETURNING子句返回更新的记录。

Hibernate中是否有类似的功能?

1 个答案:

答案 0 :(得分:0)

除了数据库生成的值之外,显然不需要Hibernate返回更新的实例,因为传递给Session.saveOrUpdate() 的对象是更新的实例。如果相应地注释(或在XML映射文件中定义),数据库生成的值(序列,触发器,默认值等)将在 Session.saveOrUpdate之后设置

对于identifier values,请将JPA @javax.persistence.GeneratedValue注释与JPA @javax.persistence.Id注释结合使用。对于simple properties使用原生Hibernate @org.hibernate.annotations.Generated注释(afaik没有根据JPA注释)。

Hibernate如何检索生成的标识符值取决于生成策略和/或数据库方言。对于简单属性,Hibernate在SELECTINSERT后执行额外的UPDATE个id语句。