Hibernate jpa子对象不保存

时间:2014-11-03 16:03:07

标签: java mysql spring hibernate jpa

我是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;

叹息。删除可插入和可更新的子句解决了问题。

1 个答案:

答案 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);