我是休眠世界的新手,还在学习它。我试图使用hibernate在数据库中持久化一个类。此类的对象在其客户端类中可以具有不同的含义。以下是我想要坚持的类定义:
class Entity {
int id;
String name;
}
class ClientClass {
int clientClassID;
List<Entity> employerList;
List<Entity> clientList;
}
ClientClass
的映射文件如下:
<hibernate-mapping package="com.foo.bar.model">
<class name="ClientClass" table="CLIENTS">
<id name="clientClassID" column="CLIENT_ID" type="integer"
unsaved-value="0">
<generator class="native" />
</id>
<set name="clientList" table="PROJECT_CLIENTS" cascade="all">
<key column="CLIENT_ID" />
<many-to-many column="CLIENT_ID" class="Entity" />
</set>
<property name="description" type="string" length="1000" />
<set name="employerList" table="PROJECT_EMPLOYERS" cascade="all">
<key column="CLIENT_ID" />
<many-to-many column="EMPLOYER_ID" class="Entity" />
</set>
</class>
</hibernate-mapping>
我无法理解如何为Entity
类编写映射?
请帮我。如果您需要更多详细信息,请告诉我们。
提前致谢!!!
答案 0 :(得分:1)
您必须先将Entity
映射为自己的班级。
<class name="Entity" table="ENTITY">
<id name="id" column="id" type="integer"
unsaved-value="0">
<generator class="native" />
</id>
<property name="name" type="string" />
</class>
然后,您可以在其他类中将其添加为“多对多”关联。我真的不明白你的EMPLOYER_NAME
和CLIENT_ID
上的映射应该如何运作。
有关进一步的文档,请参阅:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/collections.html#collections-ofvalues