操作hibernate多主鍵的問題?
各位大蝦:
現在有個關於hibernate多主鍵的問題,請指教:
一個表Result,有兩個主鍵,分別是customerId,setDate,用Middlegen Hibernate plugin生成一個單獨的主鍵類ResultPK.
下面是從資料庫生成的result.hbm.xml檔案:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by Middlegen Hibernate plugin
http://boss.bekk.no/boss/middlegen/
http://hibernate.sourceforge.net/
-->
<class
name="com.persistent.Result" table="result"
>
<composite-id name="comp_id" class="com.persistent.ResultPK">
<key-property name="customerId" column="customerID" type="java.lang.String" />
<key-property name="setDate" column="setDate" type="java.lang.String" />
</composite-id>
<property
name="degree"
type="int"
column="degree"
length="3"
/>
<property
name="prize"
type="java.lang.String"
column="prize"
not-null="true"
length="2"
/>
<property
name="wage"
type="int"
column="wage"
not-null="true"
length="5"
/>
<property
name="train"
type="int"
column="train"
not-null="true"
length="2"
/>
<!-- associations -->
</class>
</hibernate-mapping>
現在我想查詢表中所有customerId='0001' and setDate='2003-08-12' 的記錄,怎麼寫HQL語句???,急死我了!
我寫的HQL語句:
//首先給主鍵類賦值
ResultPK resultPK = new ResultPK(); //結算主鍵表
resultPK.setCustomerId("0001");
resultPK.setSetDate("2003-08-12");
//注:comp_id是Result類中ResultPK的例項
//在Result類中有 public ResultPK getComp_id() {}
// public void setComp_id(ResultPK comp_id) {} 方法。
下面是我寫的hql語句:
session.find("select result.comp_id from Result result where result.comp_id = "+resultPK+" ");
但是執行時出現錯誤:就在session.find(....)那行出錯:
net.sf.hibernate.QueryException: path expression ends in a composite value: result0_.comp_id [select result.comp_id from com.persistent.Result result where result.comp_id = com.persistent.ResultPK@11946c2[customerId=0001,setDate=2003-08-12] ]
我不知道這樣的語句怎麼寫?請大家幫幫忙!
先謝了。
現在有個關於hibernate多主鍵的問題,請指教:
一個表Result,有兩個主鍵,分別是customerId,setDate,用Middlegen Hibernate plugin生成一個單獨的主鍵類ResultPK.
下面是從資料庫生成的result.hbm.xml檔案:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by Middlegen Hibernate plugin
http://boss.bekk.no/boss/middlegen/
http://hibernate.sourceforge.net/
-->
<class
name="com.persistent.Result" table="result"
>
<composite-id name="comp_id" class="com.persistent.ResultPK">
<key-property name="customerId" column="customerID" type="java.lang.String" />
<key-property name="setDate" column="setDate" type="java.lang.String" />
</composite-id>
<property
name="degree"
type="int"
column="degree"
length="3"
/>
<property
name="prize"
type="java.lang.String"
column="prize"
not-null="true"
length="2"
/>
<property
name="wage"
type="int"
column="wage"
not-null="true"
length="5"
/>
<property
name="train"
type="int"
column="train"
not-null="true"
length="2"
/>
<!-- associations -->
</class>
</hibernate-mapping>
現在我想查詢表中所有customerId='0001' and setDate='2003-08-12' 的記錄,怎麼寫HQL語句???,急死我了!
我寫的HQL語句:
//首先給主鍵類賦值
ResultPK resultPK = new ResultPK(); //結算主鍵表
resultPK.setCustomerId("0001");
resultPK.setSetDate("2003-08-12");
//注:comp_id是Result類中ResultPK的例項
//在Result類中有 public ResultPK getComp_id() {}
// public void setComp_id(ResultPK comp_id) {} 方法。
下面是我寫的hql語句:
session.find("select result.comp_id from Result result where result.comp_id = "+resultPK+" ");
但是執行時出現錯誤:就在session.find(....)那行出錯:
net.sf.hibernate.QueryException: path expression ends in a composite value: result0_.comp_id [select result.comp_id from com.persistent.Result result where result.comp_id = com.persistent.ResultPK@11946c2[customerId=0001,setDate=2003-08-12] ]
我不知道這樣的語句怎麼寫?請大家幫幫忙!
先謝了。
相關文章
- 操作hibernate多主鍵的問題?(2)
- 請教Hibernate的多主鍵操作如何實現?
- hibernate複合主鍵查詢問題
- [求助]Hibernate自增長主鍵的設定問題和事務問題
- Hibernate Blob 操作問題!
- 多對一(主鍵)關係,create問題
- Hibernate主鍵策略
- Hibernate 主鍵的生成策略
- 多對多的操作問題
- Hibernate 自定義主鍵
- hibernate主鍵生成策略
- Hibernate框架的主鍵生成策略框架
- Hibernate 多執行緒問題!執行緒
- Hibernate 一對多配置 級聯操作(級聯失敗問題分析解決)
- Java Hibernate 主鍵生成10大策略Java
- Hibernate自定義產生主鍵方式
- HIBERNATE的自定義型別主鍵的對映??型別
- Hibernate的session問題Session
- 基於關鍵詞及問題主題的問題相似度計算
- MySQL自增主鍵跳號問題MySql
- 求助: 用Hibernate連線多個資料庫的問題?資料庫
- hibernate中的no session問題Session
- oracle 序列值導致的主鍵衝突問題Oracle
- MySQL5.5加主鍵鎖讀問題MySql
- 關於Hibernate一對多關聯儲存問題
- MySQL的主鍵和欄位型別問題總結MySql型別
- 資料庫自增主鍵可能產生的問題資料庫
- 注意:Oracle中的聯合主鍵查詢問題(轉)Oracle
- 1個主庫配置多個備庫的問題
- Hibernate的Criteria查詢問題。
- Hibernate 動態Update的問題
- Spring與hibernate的問題Spring
- hibernate 的lazy載入問題
- GoldenGate MSSQL Oracle的主鍵問題導致的錯誤GoSQLOracle
- 記SqlSugar ORM框架之找不到主鍵問題SqlSugarORM框架
- 請高手幫忙,關於多個連線的hibernate配置問題
- hibernate初學問題
- 『提問』聯合主鍵(compsite-id)所引起的問題