如何在Hibernate中通过SQLQuery执行更新
我需要更新一个联接的子类。由于Hibernate不允许在hql或命名查询中更新连接的子类,所以我希望通过SQL来完成。我也不能使用sql命名查询,因为Hibernate不支持通过命名查询进行更新 所以我决定使用SQLQuery。但是Hibernate抱怨没有调用addScalar(): org.hibernate.QueryException:在执行查询之前,必须对sql查询调用addEntity()或addScalar() 更新是否返回受影响的行数以及该列的名称 在hibernate中,有没有其他方法可以对连接的子类进行更新 下面是我尝试做的一个简单示例:如何在Hibernate中通过SQLQuery执行更新,sql,hibernate,sql-update,Sql,Hibernate,Sql Update,我需要更新一个联接的子类。由于Hibernate不允许在hql或命名查询中更新连接的子类,所以我希望通过SQL来完成。我也不能使用sql命名查询,因为Hibernate不支持通过命名查询进行更新 所以我决定使用SQLQuery。但是Hibernate抱怨没有调用addScalar(): org.hibernate.QueryException:在执行查询之前,必须对sql查询调用addEntity()或addScalar() 更新是否返回受影响的行数以及该列的名称 在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>
如何执行更新查询?你调用什么方法来执行它?你叫“ExecuteUpdate”吗
为什么您认为不能使用HQL对子类执行更新查询?好的,这是可能的。你能解释一下你想对连接的子类执行什么查询吗?我正在使用SpringDAOImpl代码:query namedQuery=session.getNamedQuery,我得到org.hibernate.QueryException:针对连接或联合子类的更新语句还不受支持!Hibernate 3.0.5版感谢您的快速响应!是的,你是对的,但是在我们正在使用的版本(3.0.5)之后发布的版本中。你们中有人知道如何用3.0.5做到这一点吗?谢谢
update SubJoinedClass set name = 'newName'