我需要更新聯合子類。由於Hibernate不允許在hql或named-query中更新已連接的子類,我想通過SQL來完成。我也不能使用SQL命名查詢,因爲Hibernate不支持通過命名查詢進行更新。如何在Hibernate中通過SQLQuery執行更新
所以我決定使用SQLQuery。但休眠投訴關於不呼叫addScalar():
org.hibernate.QueryException:addEntity()或addScalar()必須在執行查詢之前調用一個SQL查詢。
更新是否返回受影響的行數以及如何命名該列?
是否有任何其他方式對hibernate中的聯接子類進行更新?
這裏是什麼,我試圖做一個簡單的例子:
<hibernate-mapping>
<class name="example.NiceClass" table="NICE_CLASS">
<meta attribute="class-code"></meta>
<id name="id" type="java.lang.Long">
<column name="NICE_CLASS_ID" precision="8" />
<generator class="sequence">
<param name="sequence">NICE_CLASS_SEQ</param>
</generator>
</id>
</class>
</hibernate-mapping>
<hibernate-mapping package="example">
<joined-subclass name="SubJoinedClass" table="SUB_JOINED_CLASS"
extends="NiceClass">
<key column="NICE_CLASS_ID" foreign-key="NICE_JOINED_ID_FK"/>
<property name="name" type="string" not-null="false">
<column name="NAME" >
<comment>name</comment>
</column>
</property>
</joined-subclass>
</hibernate-mapping>
提前感謝!
所以我想做一個:
update SubJoinedClass set name = 'newName'
你能解釋一下你想對聯合子類執行什麼查詢嗎? – oedo 2010-04-14 12:16:52