Hibernate中的查询方法摘录

来源:互联网 发布:对网络的看法 编辑:程序博客网 时间:2024/05/22 13:33

 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

原创粉丝点击