Допустим, у меня есть два класса, Родитель и Ребенок. Эти два связаны однонаправленными отношениями.
<bag name="children" cascade="all">
<key column="parent_id" />
<one-to-many class="Child" />
</bag>
Если я хочу добавить дочерний элемент к родителю, насколько мне известно, мне нужно загрузить родительский элемент, добавить к нему дочерний элемент и сохранить родительский элемент:
Parent p = dao.getParent();
Child c = new Child();
p.getChildren().add(c);
dao.saveOrUpdate(p);
Однако возникает проблема при попытке отразить это изменение в модели данных, поддерживающей графический интерфейс. Насколько я могу судить, нет способа найти первичный ключ, который был назначен на c
, когда он был сохранен. Это вызывает проблему в графическом интерфейсе, поскольку, если я добавлю несколько строк в модель, их будет невозможно различить для последующего использования.
Есть идеи, как мне получить доступ к первичному ключу ребенка после его сохранения?