hibernate多对多 第三章表插不进去
User表 friend 是朋友表 查补进去 springmvc + hibernate
xml
<set name="friends" table="t_user_friend" inverse="true" cascade="save-update">
<key column="uid"/>
<many-to-many class="User" column="fid"/>
</set>
查不进去
User u1 = new User();
u1.setPhoneunmber("1111111");
User u2 = new User();
u2.setPhoneunmber("2222222");
User u3 = new User();
u3.setPhoneunmber("3333333");
Set<User> arr = new HashSet<User>();
arr.add(u2);
arr.add(u3);
u1.setFriends(arr);
sessionFactory.openSession().save(u2);
sessionFactory.openSession().save(u3);
sessionFactory.openSession().save(u1);
配置
<bean id="userDao" class="com.atschool.dao.UserDAO">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="userManagerBase" class="com.atschool.service.UserManager">
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userManager" parent="transactionBese">
<property name="target" ref="userManagerBase"></property>
</bean>
------解决方案--------------------多对多时,xml配置两边都加上中间表。
sessionFactory.openSession()调用一次就好了
多对多用来研究hibernate原理还行,实际开发中几乎不会用到。比较复杂难以掌握,不好维护,用不好也会有性能问题,就这样