0
我是新來的冬眠世界,仍然在學習它。我正在嘗試使用hibernate在數據庫中堅持一個類。這個類的對象在其客戶類中可以有不同的含義。以下是類的定義,我想堅持:如何使用以多種不同方式使用的hibernate持久化類?
class Entity {
int id;
String name;
}
class ClientClass {
int clientClassID;
List<Entity> employerList;
List<Entity> clientList;
}
映射文件ClientClass
如下:
<hibernate-mapping package="com.foo.bar.model">
<class name="ClientClass" table="CLIENTS">
<id name="clientClassID" column="CLIENT_ID" type="integer"
unsaved-value="0">
<generator class="native" />
</id>
<set name="clientList" table="PROJECT_CLIENTS" cascade="all">
<key column="CLIENT_ID" />
<many-to-many column="CLIENT_ID" class="Entity" />
</set>
<property name="description" type="string" length="1000" />
<set name="employerList" table="PROJECT_EMPLOYERS" cascade="all">
<key column="CLIENT_ID" />
<many-to-many column="EMPLOYER_ID" class="Entity" />
</set>
</class>
</hibernate-mapping>
我無法理解如何編寫映射Entity
類? 請幫幫我。如果你需要更多的細節,請讓我知道。
在此先感謝!
非常感謝您的回答。如果我不想創建ENTITY表,那我該怎麼辦?而不是ENTITY類,我想創建名爲CLIENT_LIST或EMPLOYER_LIST的表,其中包含id和name列。 – Shekhar
它仍然是多對多的嗎?我認爲這是一對多的,但這不是解決方案。我會創建兩個擴展'Entity'的類並映射它們。不可能在兩個表上映射一個實體。 – powerMicha
好吧,但然後我不得不不必要地創建這些子類,只是因爲休眠不能做到這一點。實際上,早些時候我創建了不同的數據庫模式,但我正面臨着一些問題。所以我把它改成了上面的那個。我發佈了關於SO的問題。這裏是它的鏈接:http://stackoverflow.com/questions/7964417/unable-to-generate-tables-using-hibernate。請看看它。 – Shekhar