如何在hibernate中使用hql查询进行级联保存或更新?我如何使用级联更新某些特定字段而不是更新所有子表字段?
例如表用户有
userName varchar(10)
密码 varchar(10)
表UserAccessRights有
用户名 varchar(10)用户表格的FK
密码 varchar(10)用户表格的FK
Authpassword varchar(10)
级联更新应仅针对用户名而非密码进行。我怎么能实现这个目标呢?
答案 0 :(得分:2)
你没有。
由于级联是Hibernate配置问题(即HBM或注释),因此必须将数据返回到Java以进行级联处理。在HQL中执行UPDATE / DELETE行修改完全在SQL服务器上进行(并且SQL服务器不了解JPA级联,因为JPA是Java API而不是SQL API或SQL标准)。
答案 1 :(得分:1)
我想在你的hbm文件中指定你的级联设置。
<set name="columnrecord" cascade="save-update" table="..."...>
<key>
<column name="COLUMN_NAME" not-null="true" />
</key>
<one-to-many class="..." />
</set>