我正在使用一個項目,我需要在hibernate中存儲一個對象,並且它包含許多用戶定義的對象。我知道如何使用Hibernate映射與只包含「ususal」類型(int,String等),但與自定義類型的對象我見過的建議,如使用註釋@嵌入和實現UserType,但我沒有'沒有看到有關如何簡單地將對象內的對象映射到某個表的建議。注意:這些對象不在同一個表中,只在同一個數據庫中。我想要做的是有一個映射,允許此功能在我DaoImplementation:如何將Hibernate與映射到不同DB的自定義字段類型一起使用?
public void store(MyObject o){
hibernateTemplate.saveOrUpdate(o);
}
這是軟的我物體的外觀:
public class MyObject{
private String name;
private ObjectA type;//Contains an int
private ObjectC look;//Contains a String.
private ObjectB[] children;//contains a string and other children.
public MyObject(){}
//Getters and setters omitted.
}
public class ObjectB{
private String name;
private ObjectB[] children;
public ObjectB(){}
//Getters setters omitted
}
我一直在嘗試這個,但有一個問題。孩子是否必須有一個存儲父母的字段?看看這個例子:http://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example/ 它看起來不錯,但問題是,股票有幾個StockDailyRecords,但StockDailyRecord需要有一個股票領域。看起來很醜陋,在我目前的項目中,我不允許在類中添加字段。任何關於解決問題的想法?在手冊中沒有看到任何人。 –
子對象不必具有父項的字段(當然,它們映射到的表仍需要具有父項ID的列)。只是不要在父類中指定一對多的關係爲逆。 – socha23
@why_vincent:你想要的是一種單向OneToMany關係。手冊確實有這種關係的例子。仔細閱讀。 –