0

我有一张有五列的表。这两列一起构成了我的表的主键。我正在尝试使用休眠实例化与该表对应的实体类。问题是我如何告诉 hiberante 主键不仅仅是类的一个字段,而是两个。我不希望 hiberante 为我创建数据库模式,因为我已经使用所有必要的主键设置创建了它。

我已经阅读了有关复合键的信息,但它认为这不适合我。毕竟,我只有一张桌子,我的代码中不会有一对多或类似的基数。

我尝试了类似的方法,但显然不起作用。

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
       <class name="blog.Message" table="MESSAGES">
       <id name="title" column="MESSAGE_TITLE"></id>
       <id name="author" column="MESSAGE_AUTHOR"></id>
       <property name="body" column="MESSAGE_BODY"/>
         // ....AND TWO MORE FIELDS

    </class>
    </hibernate-mapping>

这样做的方法是什么?复合键是必须的吗?提前致谢

4

1 回答 1

1

理想情况下,如果可能的话,您应该避免使用 hibernate 的自然键。如果您创建单个 id 列,Hibernate 会更好地工作,hibernate 可以使用它来管理行的标识。

于 2012-05-02T22:50:42.150 回答