- User和Role是多对多关系...查询到一个User...然后getRoles...集合中出现18条一模一样的Role实例(此时数据库中间表中此User只有一个角色)...
@ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE }) @JoinTable( name = "t_sysmgt_user_role", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "role_id") } ) private List<Role> roles = new ArrayList<Role>();
- 1.UserDao 实现了JpaRepository(Spring Data)
- 2.Hibernate4.3.5
- 3.Spring Data1.10.1
用的JpaRepository中的findOne就会有这个问题, 然后自己写了个查询方法就OK了
@Query("select u from User u where u.id=?")
User findById(Long userId);