私は休止状態を使用して、次のセットアップ持っている:私は、取引やHibernateがあれば保存していること@OneToMany
関係に基づいて把握することができますかどうかの永続コードをラップする必要があるかどうかと思いましてHibernateでトランザクションを明示的に開始および終了する必要がありますか?
@Entity
public class Owner {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name", nullable = false)
private String name;
@OneToMany(cascade = CascadeType.ALL)
private List<Dog> dogs = new ArrayList<>();
}
@Entity
public class Dog {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name", nullable = false)
private String name;
}
public class PersonDao {
public Long createPetRelation(String ownerName, String dogName) {
EntityManager entityManager = entityManagerFactory.createEntityManager();
Dog dog = new Dog();
dog.setName("Fido");
Person person = new Person();
person.setName("Joe");
person.addDog(dog);
entityManager.persist(person);
return person.getId();
}
}
を犬のエンティティのすべてが元に戻す必要があります失敗?ドキュメントからは分かりません。
私はコンテナやフレームワークを使用していません。JPA設定のスタンドアロンJavaプロジェクトでHibernateをまっすぐに伸ばしてください。