Это мои классы:Hibernate однонаправленный один-ко-многим: Упорство родитель с детьми
@Entity
public class Parent implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private long id;
@OneToMany(orphanRemoval = true, cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
@JoinColumn(name="parent_id", nullable = false)
private List<Children> childrens = new ArrayList<Children>();
// ...
}
@Entity
public class Children implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private long id;
// NO BIDIRECTIONAL MAPPING
// ...
}
При попытке упорствовать объект Дети (с), родительский объект (р) не сохраняется на базе:
Children c = new Children();
Parent p = new Parent();
p.getChildrens().add(c);
childrenDAO.save(c); // Common DAO implementation. It executes a persist on a entity manager
Как я могу это сделать? Мне нужно сделать это от ChildrenDAO.
Вы уже сделали это: 'childrenDAO.save (c)' выполнит эту работу. –
@AndreiI да, в DAO я делаю 'this.getEntityManager(). Persist (element); // element = Дети c', но сохраняются только свойства дочерних элементов, не создается родительская запись. – EJP4
Почему бы вам не позвонить тогда также 'this.getEntityManager(). persist (parent)'? –