2009-07-07 4 views
0

私はsalesOrderと呼ばれる別のクラスに含まれるsalesOrder idとrepidで作られたidというコンポジットidを持つSalesOrderを持っています。イコールとハッシュコードを実装します)Hibernate Basic:コンポジットidがあるときに問い合わせる方法

私の質問は、 "ID = SalesOrder FROM:soID" 私はSalesOrderを照会したい、 session.createSQLQuery(ある)

とsoIDはsalesorder IDとREPIDが移入されています。これは何に関係なく失敗する。

誰でもお手伝いできますか?あなたはSQLクエリを作成しようとしているので、それが最も可能性の高い失敗

おかげ

+0

「これは失敗する」よりも少し具体的になりますか?それは正確に何を言っているのですか?あなたは0個の物を戻していますか?あなたは休止状態例外を取得していますか? – amischiefr

+0

Stack Trace please! – ThaDon

答えて

2

。代わりにHQLを使用する必要があります。

 
Query query = session.createQuery("from SalesOrder so where so.id=:id"); 
query.setParameter("id", salesOrderID); 
query.list(); 

これは、あなたの質問にタイプミスだったとあなたが実際に(からCreateQueryを使用している場合)方法を、例外のスタックトレースを投稿してください。

+0

ChssPly76のように、SQLクエリを作成しているからです。必要に応じてSQLクエリでこれを行うことができますが、データベーステーブルの列を使用する必要があります。その結果をエンティティにマップする必要があります。最良の方法はHQLを使うことです。 –

0

データベースBeanクラスで正しくマッピングされませんでした。申し訳ありませんが、すべてのトラブルには、私の教訓を学んだ、あなたの時間を無駄に謝罪します。

関連する問題