Hibernate noop id主键

时间:2012-03-02 16:23:00

标签: java hibernate noop

我正在尝试使用hibernate xml映射文件来持久化表,并将id字段设置为access =“noop”。我这样做是因为我不希望主键字段在类文件中。我坚持的课程来自第三方图书馆,如果我更改它们,那么第三方图书馆更新时将成为维护的噩梦。我希望能在不改变java类文件的情况下坚持对象之间的关系。

即。

<hibernate-mapping>
<class name="blah" table="blah">
        <id name="blah_id" type="long" access="noop" >
            <column name="BLAH_ID" />
            <generator class="native" />
        </id>
        <property name="value" type="double">
            <column name="VALUE" />
        </property>
</class>
</hibernate-mapping>

不幸的是,这不起作用,noop访问说明符请求hibernate永远不会访问该字段,但是当save函数返回时,hibernate仍会尝试在那里写入值,从而导致以下错误;

third.party.object实例的标识符从2更改为null

我可以为第三部分库编写一个包装器,继承所有类并添加关系字段,但我真的希望有更好的解决方案。

想要将pks排除在类之外似乎是合理的。我该怎么做?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为组件类是您以前寻找的自我。