xml 代码
- <hibernate-mapping>
- <class name="org.tie.User" table="user" catalog="tie">
- <id name="id" type="long">
- <column name="id" />
- <generator class="native" />
- </id>
- <property name="name" type="string">
- <column name="name" length="45" not-null="true" />
- </property>
- <property name="age" type="integer">
- <column name="age" not-null="true" />
- </property>
- <property name="addr" type="string">
- <column name="addr" length="45" not-null="true" />
- </property>
- </class>
- <!-- 这里将Hql语句写到配置文件当中,名字是可以随便取的 -->
- <query name="haha">
- from User where addr=:address and age=:age
- </query>
- </hibernate-mapping>
java 代码
- /*
- * 另外Hibernate允许我们把 sql语句配置到文件中
- * 因为写到程序中需要编译的,而写到配置文件中是不需要编译的
- */
- public void testHQL13(){
- Session session = factory.openSession();
- //这里通过getNameQuery这个方法来取得到配置文件中的hql语句
- Query query = session.getNamedQuery("haha");
- query.setString("address", "fujian");
- query.setInteger("age", 22);
- List<User> users = query.list();
- for(User user : users){
- System.out.println(user.getName());
- System.out.println("---------------");
- }
- session.close();
- }