hibernate如何操作中间表?
我有一个系统角色表、一个权限表,是多对多关系。系统角色实体类下有一个Set<Right>rights的集合实例变量,如果我想增删该系统角色的权限,应该怎样做?...
我有一个系统角色表、一个权限表,是多对多关系。系统角色实体类下有一个Set<Right> rights 的集合实例变量,如果我想增删该系统角色的权限,应该怎样做?
展开
2个回答
展开全部
举例说明:三张表 t_userseoles是中间表、其他的t_user和t_role
UsersRoles.hbm.xml
<hibernate-mapping>
<class table="T_UsersRoles" name="com.rui.oa.model.UsersRoles">
<id name="id">
<generator class="native"/>
</id>
<many-to-one name="role"/>
<many-to-one name="user"/>
<property name="orderNo"/>
</class>
</hibernate-mapping>
User.hbm.xml
<hibernate-mapping auto-import="false">
<class table="T_User" name="com.rui.oa.model.User">
<id name="id">
<generator class="native"/>
</id>
<property name="username" not-null="true" unique="true"/>
<property name="password" not-null="true"/>
<property name="createTime" update="false"/>
<property name="expireTime"/>
<many-to-one unique="true" name="person"/>
</class>
</hibernate-mapping>
Role.hbm.xml
<hibernate-mapping>
<class table="T_Role" name="com.rui.oa.model.Role">
<id name="id">
<generator class="native"/>
</id>
<property name="name" not-null="true" unique="true"/>
</class>
</hibernate-mapping>
就是说只要映射关系就行了,不用特别的设置,这张表要自己建立出来,不是自动生成的
UsersRoles.hbm.xml
<hibernate-mapping>
<class table="T_UsersRoles" name="com.rui.oa.model.UsersRoles">
<id name="id">
<generator class="native"/>
</id>
<many-to-one name="role"/>
<many-to-one name="user"/>
<property name="orderNo"/>
</class>
</hibernate-mapping>
User.hbm.xml
<hibernate-mapping auto-import="false">
<class table="T_User" name="com.rui.oa.model.User">
<id name="id">
<generator class="native"/>
</id>
<property name="username" not-null="true" unique="true"/>
<property name="password" not-null="true"/>
<property name="createTime" update="false"/>
<property name="expireTime"/>
<many-to-one unique="true" name="person"/>
</class>
</hibernate-mapping>
Role.hbm.xml
<hibernate-mapping>
<class table="T_Role" name="com.rui.oa.model.Role">
<id name="id">
<generator class="native"/>
</id>
<property name="name" not-null="true" unique="true"/>
</class>
</hibernate-mapping>
就是说只要映射关系就行了,不用特别的设置,这张表要自己建立出来,不是自动生成的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询