0
我正在用Java EE和JSF編寫Web應用程序。作爲數據鏈路層,我正在使用休眠。如何在休眠狀態下爲聯接子類添加額外約束
主站和從站類擴展設備類。他們使用設備表的主鍵 - 「DEVICE_ID」。我想知道哪個Slave記錄與主記錄相關。因此,我需要在Slave表中添加額外的約束。
我該怎麼做?請幫幫我!任何意見都表示讚賞!
Device.hbm.xml;
<hibernate-mapping>
<class name="deviceManagement.Device" table="DEVICE">
<id name="DEVICE_ID" type="int">
<column name="DEVICE_ID" />
<generator class="increment" />
</id>
<property name="DEVICE_NAME" type="java.lang.String">
<column name="DEVICE_NAME" unique="true" />
</property>
<property name="DEVICE_TYPE" type="java.lang.String">
<column name="DEVICE_TYPE" />
</property>
...
Slave.hbm.xml;
<hibernate-mapping>
<joined-subclass name="deviceManagement.Slave" extends="deviceManagement.Device" table="SLAVE" lazy="false">
<key>
<column name="DEVICE_ID" />
</key>
<property name="LUMINAIRE_MODEL" type="java.lang.String">
<column name="LUMINAIRE_MODEL" />
</property>
...
Master.hbm.xml;
<hibernate-mapping>
<joined-subclass name="deviceManagement.Master" extends="deviceManagement.Device" table="MASTER" lazy="false">
<key>
<column name="DEVICE_ID" />
</key>
<property name="HOST_NAME" type="java.lang.String">
<column name="HOST_NAME" />
</property>
...
可以在我的示例代碼上顯示解決方案嗎? –
您可以將下面的代碼添加到slave.hbm.xml並更新類<多對一名稱=「master」 class =「deviceManagement.Master」 column =「MASTER_FK」 cascade =「save-update 「> many-to-one>或取決於你想要的方式 –
AntJavaDev