首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hibernate根据条件从数据库中检索结果

Hibernate根据条件从数据库中检索结果
EN

Stack Overflow用户
提问于 2012-10-30 01:13:59
回答 3查看 8.3K关注 0票数 0

当涉及到从数据库中检索结果时,我有点迷惑。

我的MemberModel包含4个字段:idusernamepasswordemail。我已经能够成功地将其保存到数据库中。

现在我需要检索一个成员的id,该成员的username等于"Test“。

我尝试了一些类似的方法:

代码语言:javascript
复制
SQLQuery query = session.createSQLQuery("SELECT id FROM members WHERE username = :username");
query.setString("username", username);
List<MemberModel> returnedMembers = query.list();
MemberModel member = returnedMembers.get(0);
int id = member.getId();

然而,我得到一个错误,因为它是MemberModel,所以无法将member.getId()转换为int ...但是getter getId()返回int

我很困惑。问题是:根据条件(username的值)检索成员id最简单、最快的方法是什么?

EN

Stack Overflow用户

回答已采纳

发布于 2012-10-30 01:20:34

我会把你的代码改成这样:

代码语言:javascript
复制
public MemberModel getMember(String username) {
    Query query = sessionFactory.getCurrentSession().createQuery("from  " + MemberModel.class.getName() + " where username = :username ");
    query.setParameter("username", username);
    return (MemberModel) query.uniqueResult();
}

然后,您应该能够执行以下操作:

代码语言:javascript
复制
MemberModel model = someInstance.getMember("someUsername");
int id = model.getId();
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13126457

复制
相关文章

相似问题

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