room.getUser().remove(room.getUser().toArray()[0]); System.out.println(room.getUser().size()); tx.commit();控制台打印: Hibernate: select room0_.ROOM_ID as ROOM1_0_, room0_.ADDRESS as ADDRESS1_0_ from ROOMO2M room0_ where room0_.ROOM_ID=? Hibernate: select user0_.ROOM_ID1 as ROOM3_1_, user0_.USER_ID as USER1_1_, user0_.USER_ID as USER1_0_, user0_.NAME as NAME0_0_, user0_.ROOM_ID1 as ROOM3_0_0_ from USERO2M user0_ where user0_.ROOM_ID1=? 1 Hibernate: delete from USERO2M where USER_ID=?
<set name="user" table="USERO2M" cascade="delete-orphan" inverse="true" lazy="true">
<key column="ROOM_ID1"/>
<one-to-many class="com.softbrain.wangzl.hibernate.one2many.User"></one-to-many>
</set>测试类 Room room = (Room) session.load(Room.class, new Long(1));
room.getUser().remove(room.getUser().toArray()[0]);
System.out.println(room.getUser().size());
tx.commit();控制台打印:
Hibernate: select room0_.ROOM_ID as ROOM1_0_, room0_.ADDRESS as ADDRESS1_0_ from ROOMO2M room0_ where room0_.ROOM_ID=?
Hibernate: select user0_.ROOM_ID1 as ROOM3_1_, user0_.USER_ID as USER1_1_, user0_.USER_ID as USER1_0_, user0_.NAME as NAME0_0_, user0_.ROOM_ID1 as ROOM3_0_0_ from USERO2M user0_ where user0_.ROOM_ID1=?
1
Hibernate: delete from USERO2M where USER_ID=?