我有一个名为Entity1
的实体,此实体与其他两个实体Entity2
和Entity3
有两个多对一关系。
每次我们向Entity1
表添加记录时,Entity2
只能与Entity3
或Entity1
建立关联。
这是Entity1
:
<class name="Entity1" table="t_entity1_e1" optimistic-lock="version">
<id name="id" column="e1_id">
<generator class="native"/>
</id>
<property name="libelle" column="e1_libelle"/>
<many-to-one name="entity2" column="e1_entity2" class="Entity2"/>
<many-to-one name="entity3" column="e1_entity3" class="Entity3"/>
<many-to-one name="someOtherEntity" column="e1_other_entity" class="SomeOtherEntity"/>
</class>
所以我的意思是当列e1_entity2
有一个值时,另一列e1_entity1
必须为空,反之亦然。
我该怎么做?在sql端和java端。
PS:我没有使用JPA。