Относительно моего предыдущего поста
Предыдущее сообщение
У меня есть родительская таблица A и ее дочерняя таблица B. Отношение A к B однозначно, а с B к A - много к одному.
Мне нужно извлечь данные из таблицы B на основе его родительского идентификатора, для которого я пытался использовать именованный запрос, вот обновленный файл hbm для дочерней таблицы.
<hibernate-mapping>
<class
name="ChildClass"
table="B">
<id name="uuid" type="java.lang.String">
<column name="UUID" />
<generator class="uuid" />
</id>
<!-- <version name="version" column="OBJ_VERSION" /> -->
<many-to-one name="A"
class="ParentClass" fetch="join">
<column name="PARENTID" />
</many-to-one>
<property name="parentid" type="java.lang.String" update="false" insert="false">
<column name="PARENTID" />
</property>
</class>
</hibernate-mapping>
Начальная идея добавить
<property name="parentid" type="java.lang.String" update="false" insert="false">
<column name="PARENTID" />
</property>
должен был использовать именованный запрос гибернации, основанный на парентиде. Что-то вроде этого
<hibernate-mapping>
<query name="getChildRecordsByParentID">
from Child child where child.parentid = :parentid
</query>
</hibernate-mapping>
и я смог достичь этого, но столкнулся с серьезной проблемой. Иногда я хочу обновить дочернюю таблицу на основе парентиды, поэтому я просто выбирал родительский объект на основе парентиды и использовал ее ссылку в дочерней сущности пытался сохранить дочерний экземпляр, все сохранялось должным образом, кроме парентиды, которая была установлена как "null"
я думаю null
устанавливается так, как я сделал парентиду только для чтения
Я только начинающий пользователь Hibernate, поэтому не уверен, где именно я делаю ошибку в отображении, поскольку изменение файла сопоставления приводит к прекращению работы второй функциональности.
Любая помощь в этом отношении будет очень полезна.