★☆

★☆
posts - 0, comments - 0, trackbacks - 0, articles - 80
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Hibernate查询

Posted on 2008-08-14 12:20 阅读(98) 评论(0)  编辑  收藏 所属分类: Hibernate
Hibernate查询:

1)
Query query = session.createQuery("select user.name from User as user where user.age = ? and user.sex = ?");
query.setInteger(0, 25);
query.setCharacter(1, 'M');
      
List names = query.list();
for (ListIterator iterator = names.listIterator(); iterator.hasNext(); ) {
    String name = (String) iterator.next();
    System.out.println("name: " + name);
}

2)
Query query = session.createQuery("select user.name from User as user where user.age = :age and user.sex = :sex");
query.setInteger("age", 25);
query.setCharacter("sex", 'M');

List names = query.list();
for (ListIterator iterator = names.listIterator(); iterator.hasNext(); ) {
    String name = (String) iterator.next();
    System.out.println("name: " + name);
}

3)原生sql查询
在配置文件中:
<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>
    </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>

java程序中:
Query query = session.getNamedQuery("onlyfun.caterpillar.queryUser");
query.setInteger("age", 25);
query.setCharacter("sex", 'M');

List names = query.list();
for (ListIterator iterator = names.listIterator(); iterator.hasNext(); ) {
    String name = (String) iterator.next();
    System.out.println("name: " + name);
}