gpt4 book ai didi

java - Hibernate jpa子对象不保存

转载 作者:行者123 更新时间:2023-11-29 00:07:45 25 4
gpt4 key购买 nike

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com