接前文在Hibernate中配置一对多连接表 其中表roomusers更改如下: create table ROOMUSERS( USERID NUMBER(4), ROOMID NUMBER(4) not null); 映射文件配置如下: Room.hbm.xml <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping package="com.cosmow.hibernatedemo2.entity"> <class name="Room" table="ROOM" schema="STORE"> <id name="id" type="java.lang.Long"> <column name="ID" precision="4" scale="0" /> <!-- Oracle数据库增长方式序列 --> <generator class="sequence"> <param name="sequence">ROOM_SEQ</param> </generator> </id> <!-- 映射roomnumber属性 --> <property name="roomnumber" type="java.lang.String"> <column name="ROOMNUMBER" length="11" not-null="true" /> </property> <!-- 映射name属性 --> <property name="name" type="java.lang.String"> <column name="NAME" length="32" not-null="true" /> </property> <!-- 通过连接表的多端,因此需要table属性为roomusers --> <set name="users" cascade="all" table="roomusers"> <!-- 该key的字段为连接表中的字段,作为外键 --> <key column="roomid" /> <!-- 配置多对多 --> <many-to-many class="Userinfo" column="userid" /> </set> </class></hibernate-mapping> Userinfo.hbm.xml <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping package="com.cosmow.hibernatedemo2.entity"> <class name="Userinfo" table="USERINFO" schema="STORE"> <id name="id" type="java.lang.Long"> <column name="ID" precision="4" scale="0" /> <!-- Oracle数据库增长方式序列 --> <generator class="sequence"> <param name="sequence">USERINFO_SEQ</param> </generator> </id> <property name="name" type="java.lang.String"> <column name="NAME" length="32" not-null="true" /> </property> <property name="sex" type="java.lang.String"> <column name="SEX" length="2" /> </property> <set name="rooms" cascade="all" table="roomusers"> <key column="userid" /> <many-to-many class="Room" column="roomid" /> </set> </class></hibernate-mapping> 测试代码如下: 相关文章: 2022-12-23 2022-02-09 2021-07-10 2022-12-23 2021-04-11 2022-12-23