0
我是新来的冬眠世界,仍然在学习它。我正在尝试使用hibernate在数据库中坚持一个类。这个类的对象在其客户类中可以有不同的含义。以下是类的定义,我想坚持:如何使用以多种不同方式使用的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
类? 请帮帮我。如果你需要更多的细节,请让我知道。
在此先感谢!
非常感谢您的回答。如果我不想创建ENTITY表,那我该怎么办?而不是ENTITY类,我想创建名为CLIENT_LIST或EMPLOYER_LIST的表,其中包含id和name列。 – Shekhar
它仍然是多对多的吗?我认为这是一对多的,但这不是解决方案。我会创建两个扩展'Entity'的类并映射它们。不可能在两个表上映射一个实体。 – powerMicha
好吧,但然后我不得不不必要地创建这些子类,只是因为休眠不能做到这一点。实际上,早些时候我创建了不同的数据库模式,但我正面临着一些问题。所以我把它改成了上面的那个。我发布了关于SO的问题。这里是它的链接:http://stackoverflow.com/questions/7964417/unable-to-generate-tables-using-hibernate。请看看它。 – Shekhar