三个table
1. User
2. Role
3. User_Role
Role对象里面有个many-to-many的关系 Set <User>
需求:查询所有 传进来一个 user 然后查出 与他关联的 List<Role>
hibernate hql 查询如何实现?
1. User
2. Role
3. User_Role
Role对象里面有个many-to-many的关系 Set <User>
需求:查询所有 传进来一个 user 然后查出 与他关联的 List<Role>
hibernate hql 查询如何实现?
//User是User表对应的类名,getRoles()是user里面对应的得到那个set的方法,返回是一个Set
实际的表格 是这样的
@ManyToMany
@JoinTable (name = "CP_PERSON_ROLE_MAPPING", inverseJoinColumns = @JoinColumn (name = "RoleID"), joinColumns = @JoinColumn (name = "PersonID"))
public Set <Role> getRoles ()然后 我按照你的 写
select pr from CP_PERSON_ROLE_MAPPING pr left join pr.Person p where p.ID="+person.getId ()报错CP_PERSON_ROLE_MAPPING中间表 我没有对象的
HibernateQueryException: CP_PERSON_ROLE_MAPPING is not mapped [select pr from CP_PERSON_ROLE_MAPPING pr left join pr.Person p where p.ID=1];
2:String hql = "from User u left outer join fetch Role where u.id = "+user.getId();
好久不打hql了,大概意思是这样的