我有一个复杂的 sql,我打算集成,现在正在通过命名查询与 hibernate 集成,请告知我可以在 hbm.xml 文件里面写我的本地 sql ..
<![CDATA[ ] tag and in my pojos
I will retrieve like session.getNamedQuery ,
请告知本机 sql 这种方法是最好的..!! 我想将查询保留在 xml 中
我有一个复杂的 sql,我打算集成,现在正在通过命名查询与 hibernate 集成,请告知我可以在 hbm.xml 文件里面写我的本地 sql ..
<![CDATA[ ] tag and in my pojos
I will retrieve like session.getNamedQuery ,
请告知本机 sql 这种方法是最好的..!! 我想将查询保留在 xml 中
这是您在 xml 文件中的操作方式:
<!-- stock.hbm.xml -->
<hibernate-mapping>
<class name="com.mkyong.common.Stock" table="stock" ...>
<id name="stockId" type="java.lang.Integer">
<column name="STOCK_ID" />
<generator class="identity" />
</id>
<property name="stockCode" type="string">
<column name="STOCK_CODE" length="10" not-null="true" unique="true" />
</property>
...
</class>
<sql-query name="findStockByStockCodeNativeSQL">
<return alias="stock" class="com.mkyong.common.Stock"/>
<![CDATA[select * from stock s where s.stock_code = :stockCode]]>
</sql-query>
</hibernate-mapping>
使用此查询
Query query = session.getNamedQuery("findStockByStockCodeNativeSQL")
.setString("stockCode", "7277");
从这里阅读