Hibernate 利用配置文件配置HQL/SQL
Query.hbm.xml
<?xmlversion="1.0"?>
<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<queryname="QueryUser">
<![CDATA[
FROMUseru
WHEREu.userName=:userName
]]>
<sql-queryname="SqlQueryUser">
<![CDATA[
SELECT
{u.*}
FROM
useru
WHERE
u.user_name=:userName
]]>
<returnalias="u"class="com.test.entity.User"/>
</sql-query>
</hibernate-mapping>
hibernate.cfg.xml
<?xmlversion="1.0"?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
...
<mappingresource="User.hbm.xml"/>
<mappingresource="query/Query.hbm.xml"/>
...
</session-factory>
</hibernate-configuration>
JavaCode:
Stringusername="...";
Sessionsession=...;
Queryquery=session.getNamedQuery("QueryUser");
//Queryquery=session.getNamedQuery("SqlQueryUser");
query.setString("name",username);
ListuserList=query.list();