当涉及到从数据库中检索结果时,我有点迷惑。
我的MemberModel包含4个字段:id、username、password和email。我已经能够成功地将其保存到数据库中。
现在我需要检索一个成员的id,该成员的username等于"Test“。
我尝试了一些类似的方法:
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最简单、最快的方法是什么?
发布于 2012-10-30 01:20:34
我会把你的代码改成这样:
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();
}然后,您应该能够执行以下操作:
MemberModel model = someInstance.getMember("someUsername");
int id = model.getId();https://stackoverflow.com/questions/13126457
复制相似问题