让我考虑一个简单的SQL查询
select username from tbl_customer where username="user" and password="12345";
如何使用条件
在hibernate中编写此查询感谢。希望得到积极回应..
答案 0 :(得分:2)
首先你必须创建Criteria对象,然后你需要将where子句条件传递给criteria对象,你必须设置projection属性来选择特定的列数据。
通过查看您的SQL查询,
select username from tbl_customer where username="user" and password="12345";
我相信您想要从表username
中获取特定列tbl_customer
。这可以使用Projections
完成。您必须为所需的列数据设置投影属性。
Criteria criteria = session.createCriteria(MyClass.class)
criteria.setProjection(Projections.property("username"));
criteria.add(Restrictions.and(Restrictions.eq("username", user),Restrictions.eq("password", 12345))
);
List<String> userNames = criteria.list();
这将只返回该表中的用户名列数据。
答案 1 :(得分:1)
Criteria criteria = session.createCriteria(Customer.class)
.add(Restrictions.eq("username",
"user").add(Restrictions.eq("password","12345"));
请注意,我确实将Customer
的实体名称视为tbl_customer
,并且您正确创建了会话。