Мне нужно обновить присоединенный подкласс. Так как Hibernate не позволяет обновлять объединенные подклассы в hql или named-query, я хочу сделать это через SQL. Я также не могу использовать sql named-query, потому что обновления через named-query не поддерживаются в Hibernate.
Поэтому я решил использовать SQLQuery. Но Hibernate жалуется на то, что не вызывает 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'