我的equals()和hashcode()方法已被正確覆蓋。但是,當我保存相同的對象時,它們出現在數據庫中。我怎麼解決這個問題?我想在數據庫中擁有一組獨特的元素。 謝謝。如何使休眠不保存等於對象
這裏是映射文件:
<hibernate-mapping>
<class name="vertical.model.filter.Filter" table="FILTER">
<id name="id" type="long">
<generator class="native"/>
</id>
<discriminator column="TYPE" type="string"/>
<subclass name="vertical.impl.filter.AbstractFilter" abstract="true">
<set name="options" table="FILTER_OPTION" cascade="all">
<key column="FILTER_ID"/>
<many-to-many column="OPTION_ID" class="vertical.model.filter.FilterOption"/>
</set>
<subclass name="vertical.impl.services.filter.GrfFilter"
discriminator-value="rabota">
</subclass>
</subclass>
</class>
</hibernate-mapping>
儘管Hibernate知道你的對象是否都有相同的主鍵? – dasblinkenlight 2012-01-27 13:45:12
我有大的繼承樹,但所有的子類映射到一個接口,至少有ID – 2012-01-27 13:48:16
如果需要更多的信息,我會發布它 – 2012-01-27 13:51:01