私は、休止状態を使用しなければならない作業とビューにマップされるいくつかのクラスを与えられます。タスクは、私はクラスの完全なオブジェクトを返すことはありませんが、クラスのいくつかの属性を持つオブジェクトが初期化された1つのビューを選択する必要が作成する必要があります。私は最初にパラメータとしてこれらのフィールドを取得するコンストラクタを作成することを考えましたが、私は両方の可能性を開いている(クラスの一部とフルクラス)を保持するWeb上の任意のソリューションを見つけることができません。どんな提案も大歓迎です。コードや詳細な説明が必要な場合は、それを求めてください。休止状態で完全なオブジェクトを取得しないようにする
答えて
jpqlクエリを作成するか、criteria APIを使用して、必要な属性を選択することができます。
JPQLチュートリアルでは、http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html
基準であるあなたは、コードの下に使用することができますhttp://docs.oracle.com/javaee/6/tutorial/doc/gjivm.html
です。
あなたは(からCreateQueryでネイティブSQLクエリを使用)し、あなただけ、あなたはゲッターとセッターとのCustomerProfile.classを作成するために必要がある適切なクラスに
Query query = ((SQLQuery) getSession().createSQLQuery(
"select First_name,Last_name,email_id,.. from view_name where customer_id=:customer_id").
setResultTransformer(Transformers.aliasToBean(CustomerProfile.class))).
setParameter("customer_id", cutsomer_id)
;
List<CustomerProfile> list = query.list();
をあなたの結果を変換することができます必要なパラメータを取得することができます。
これはネイティブSQLのために少し休止状態の作業を無効にすると思います – XtremeBaumer
あなたの質問には、view.AFAIKからデータを取得したいとします。視野に主キーを作成することはできません。そして、Hibernateはそのモデルにプライマリキーを持たせる必要があります。私は、ビューからデータをフェッチする唯一の方法は、hibernateでネイティブSQLを使用していると思います。 – Vaibs
これはあなたが間違っているところです。ビューが存在する場合は、代わりにビューに「テーブル」注釈を指定するだけで済みます。これは完全にうまく動作します。私はすでに全体の暴力でそれをやっているし、今はオブジェクトのちょうどの部分でもやっている – XtremeBaumer
- 1. 休止状態を取得
- 2. 休止状態で休止状態
- 3. 休止状態を使用して完全なデータを取得できません
- 4. 休止状態が持続しない
- 5. JSONにエンティティを休止状態に変換:全体ではなく、オブジェクトのoblectId
- 6. 休止状態のoracleデータの取得
- 7. 休止状態のセッションが休止状態でヌルである
- 8. 休止状態:休止状態の接続を変更する
- 9. テーブルを作成しないで休止状態にする
- 10. 私は休止状態で、次のモデルのようなものを持って休止状態
- 11. 休止状態:
- 12. (休止状態)
- 13. 休止状態
- 14. 休止状態:
- 15. Visual Basic.NETでスリープ状態/休止状態/起床イベントを取得する
- 16. 休止状態 - いくつかのクエリが、私は休止状態から次のメッセージが出ています実行取得した後、取引完了
- 17. Playで休止状態にキャッシングしたくないです。
- 18. 休止状態5でObjectNameNormalizerを取得する方法
- 19. 休止状態:私は休止状態を勉強
- 20. 休止状態で余分な遅延が発生しない
- 21. は休止状態
- 22. データベース+休止状態
- 23. ロンボク(休止状態)
- 24. 休止状態:session.load
- 25. 休止状態:エラーサブクエリ
- 26. 休止状態 - リンクエンティティ
- 27. 休止状態4
- 28. が休止状態
- 29. は休止状態
- 30. 休止状態:クエリメタデータ
私は実際に基準を使用していますが、特定の属性のみを選択する部分は見つかりません。私に例を教えてもらえますか?またはselectの中に 'root.get(attributes)'を持つ部分ですか? – XtremeBaumer
あなたはどのように私は1000レコードの最大をフェッチすることができますが、結果が1000よりも大きいかどうかを確認する任意のアイデアはありますか?現在私は 'setMaxResults()'を使用しています – XtremeBaumer
root.get(属性)は私がこれまで知っている唯一の方法です –