首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从三个表中获取部分对象Hibernate

从三个表中获取部分对象Hibernate
EN

Stack Overflow用户
提问于 2015-03-21 17:37:34
回答 1查看 597关注 0票数 1

我有三个表User、UserRole(Join表)和Role。从角色表中,我需要获取基于条件的名称。我有sql查询,这是工作在这种情况下,但想尝试使用条件。

代码语言:javascript
运行
复制
Select firstname, lastname from user, userrole, role where user.id=userrole.userid and userrole.roleid=role.id and role.name='James';

这将返回部分对象firstname和lastname,稍后我可以使用它们作为fullname。

我怎样才能用HQL或标准做同样的事情?有人能帮我吗?

在我的用户实体中

代码语言:javascript
运行
复制
@ManyToMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)    
@JoinTable(
        name = "userrole",
        joinColumns = { @JoinColumn(name = "userid") },
        inverseJoinColumns = @JoinColumn(name = "roleid")
)
public Set<Role> getRoles() {
    return roles;
}
EN

回答 1

Stack Overflow用户

发布于 2015-03-22 17:30:29

使用下面给出的代码。

代码语言:javascript
运行
复制
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("from user user where user.name=:username").setParameter("username", "James");
List<User> list = query.list();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29181210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档