我是 Spring 中 Hibernate 和 JPA 的新手,所以这可能是初学者的错误。我在持久化对象及其关联时遇到问题。
例如:
Dog dog = new Dog();
Breed breed = dao.getBreedById(1); (gets persistent object)
dog.setName("Pluto");
dog.setBreed(breed);
save(dog);
狗和所有字段都保存,但品种协会不保存在数据库中。我没有收到任何错误。它只是不保存。有人知道我做错了什么吗?
我将这个问题追溯到一个已经存在的注释……这让我事后自责。 -.-
我有:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "breed_id", insertable = false, updatable = false)
private Breed breed;
叹息。删除 insertable 和 updatable 子句解决了这个问题。
最佳答案
您将狗保存到数据库中。如果你想要养狗,你也应该手动设置它。 JPA中没有自相关
Dog dog = new Dog();
Breed breed = dao.getBreedById(1); (gets persistent object)
dog.setName("Pluto");
dog.setBreed(breed);
breed.getDogCollection.add(dog);//you have to maintain relationship manually
save(dog);
关于java - Hibernate jpa子对象不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718078/