Query query=session.createQuery("from Customer c where c.name=:customerName"+"and c.age=:customerAge");
query.setString("customerName","Tom");
query.setInteger("customerAge",21);
List=query.list();
Query query=session.createQuery("from Customer c where c.name=?"+"and c.age=?"); query.setString(0,"Tom"); query.setInteger(1,21); List=query.list(); Criteria c=session.createCriteria(Customer.class); Criterion criterion1=Expression.like("name","T%"); Criterion criterion2=Expression.eq("age",new Integer(21)); c=c.add(criterion1); c=c.add(criterion2); List result=c.list(); Customer c=new Customer(); c.setAge(21); List result=session.createCriteria(Customer.class).add(Example.create(c)).list(); session.createQuery("from order o where o.customer=:customer").setEntity("customer",customer).list();
还有一种查询是可以放在配置文件中:
配置文件:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="onlyfun.caterpillar.User" table="USER">
<id name="id" type="string">
<column name="user_id" sql-type="char(32)" />
<generator class="uuid.hex"/>
</id>
<property name="name" type="string" not-null="true">
<column name="name" length="16" not-null="true"/>
</property>
<property name="sex" type="char"/>
<property name="age" type="int"/>
</class>
<query name="onlyfun.caterpillar.queryUser">
<![CDATA[
select user.name from User as user where user.age = :age and user.sex = :sex
]]>
</query>
</hibernate-mapping>
mark