Действительно ли необходимо назвать сброс () (интерфейс JPA) в этой ситуации?

Попробуйте это:

$ bundle exec rspec spec
10
задан Kewei Shang 4 June 2009 в 09:16
поделиться

2 ответа

Я должен сначала построить структуру, а после этого сохранить все.

Order ord = New ord("my first order");
Item item = New Item("tv",10);

item.setOrder(ord);

Set<Item> items= new HashSet<Item>();
items.add(item);
ord.setItems(items);

em.persist(ord);

Таким образом, вы сохраняете все дерево за один вызов, и очистка не требуется.

В хорошем объекте design, вы должны использовать способ, описанный duffymo, для подключения ваших объектов.

4
ответ дан 4 December 2019 в 02:27
поделиться

Я думаю, вы должны делать все это в транзакционном контексте и позволить ему решать эти проблемы за вас.

Вам необходимо встроить двунаправленную связь в объекты:

class Parent
{
    private List<Child> children;

    public boolean addChild(Child c)
    {
        c.setParent(this); // this is the key piece

        return this.children.add(c);
    }
}

class Child
{
   private Parent parent;

   public void setParent(Parent p)
   {
      this.parent = p;
   }
}
4
ответ дан 4 December 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: