2014-11-03 82 views
1

我是Spring中Hibernate和JPA的新手,所以這可能是一個初學者錯誤。我無法堅持與其關聯的對象。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

也許提到什麼「保存」會有幫助??!並提及日誌中的內容 – 2014-11-03 16:11:17

回答

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); 
+0

我實際上將問題追溯到一個稍微不同的問題,但感謝您的快速回復! – rcheuk 2014-11-03 18:08:23

+0

所以如果問題是別的,爲什麼不自己添加答案,而不是接受不是答案的東西? – 2014-11-04 08:13:02