如何让Hibernate ResultTransformer与其他实体有关系的实体一起工作

时间:2011-11-15 10:27:43

标签: hibernate resulttransformer

我有员工角色部门域名

  • 员工角色 多对多关系。
  • 员工部门具有多对一关系。

    @ManyToOne(cascade = CascadeType.ALL)
        @JoinColumn(name = "fk_department_id")
        private Department department;
    
    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "employee_role", joinColumns = { @JoinColumn(name = "employee_id") }, inverseJoinColumns = { @JoinColumn(name = "role_id") })
    private Set<Role> roles = new HashSet<Role>(0);
    

- 要求:所有用户 角色管理员

所以这就是我想要做的事情:

List<Employee> employees = getCurrentSession()
                .createSQLQuery(
                        "select"
                                + e.id as id,e.first_name as firstName,e.password as password
                                + "from employee e,employee_role er,role r where e.employee_id=er.employee_id and er.role_id=r.role_id and r.name='ROLE_ADMIN' ")
                .setResultTransformer(Transformers.aliasToBean(Employee.class))
                .list();

问题:除了部门属性(员工表中有列fk_department_id)和角色之外,我可以像上面的查询一样轻松获取所有属性属性(有一个连接表employee_role),任何想法如何使用查询 并使用 ResultTransFormer >或者我必须在单独的查询中这样做并分别设置每个属性?

0 个答案:

没有答案