0

我有一个复杂的 sql,我打算集成,现在正在通过命名查询与 hibernate 集成,请告知我可以在 hbm.xml 文件里面写我的本地 sql ..

<![CDATA[  ] tag and in my pojos 
I will retrieve like  session.getNamedQuery ,

请告知本机 sql 这种方法是最好的..!! 我想将查询保留在 xml 中

4

1 回答 1

0

这是您在 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");

这里阅读

于 2013-07-31T07:46:13.557 回答