帮忙看看映射哪里出问题了,hibernate映射有什么技巧?
public class User {
private int id;
private String name;
private Vocation vocation;
}
public class Vocation {
private int id;
private String name;
private Vocation parent;
private Set<Vocation> children;
private Set<User> users;
}
User.hbm.xml
<class name="User" table="tt_user">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"/>
<many-to-one name="vocation" class="Vocation" column="vocationId"></many-to-one>
</class>
Vocation.hbm.xml
<class name="Vocation" table="tt_Vocation">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"/>
<!-- 多对一 -->
<many-to-one name="parent" class="Vocation" column="vocationId"></many-to-one>
<!-- 一对多 -->
<set name="children">
<key column="vocationId"></key>
<one-to-many class="Vocation"/>
</set>
<set name="users">
<key column="userId"></key><!-- column填写关系的类名+id -->
<one-to-many class="User"/>
</set>
</class>
怎么生成表是这个样子呢?
tt_user 列名:id name vocationId userId
tt_vocation 列名:id name vocationId
------解决方案--------------------
table="tt_Vocation" 这个是你的数据库表名
class 带上包名