我是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;
叹息。删除可插入和可更新的子句解决了问题。
答案 0 :(得分:1)
您将狗保存到数据库中。如果你想要的是品种有狗,你也应该手动设置。 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);