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