0

ビューである次の複雑なクエリがあり、ビューを削除してテーブルに直接マップしたいので、Hibernate2 を使用します。Hibernate2 で複数のテーブルを 1 つのクラスにマップすることは可能ですか? これが私のクエリです。

SELECT DISTINCT 
              r.id, 
        rtype.name AS model_object_type_name, 
        rtype.id AS model_object_type_id, 
        c.id AS case_id, 
        r.source_item_id AS person_id, 
        c.file_number, 
        c.start_date, 
                a.app_start_date AS app_date, 
        a.app_start_time, 
        a.outcome_type AS app_outcome,
        c.primary_reference_id, 
        aval.string_value AS last_mncis_refresh
FROM         my.case_file AS c INNER JOIN
             my.relation AS r ON c.id = r.target_item_id INNER JOIN
             my.item_type AS rtype ON r.item_type_id = rtype.id INNER JOIN
             my.person AS p ON p.id = r.source_item_id INNER JOIN
             my.relation AS rc ON c.id = rc.target_item_id INNER JOIN
            my.attr_value AS aval ON c.id = aval.item_id AND aval.name='test' 
             INNER JOIN  my.item_type AS ptype ON p.item_type_id = ptype.id 
WHERE     (ptype.name = 'Test') 
AND (rtype.name = 'Test1' OR rtype.name = 'Test2' OR rtype.name = 'Test3') 
AND (rc.name = 'Test4')

ありがとう。

4

1 に答える 1

1

それは可能です。join 要素の説明を参照してください(ドキュメントは hibernate バージョン 3.5 用です。この要素が最初に導入されたバージョンはわかりません。お使いのバージョンを確認してください)。hibernate 仕様までは、結合は 1:1 の関係に対してのみ設計されていますが、読み取り専用の場合は n:1 の関係も機能するはずです (ただし、更新、挿入、および削除の場合は、おそらく対 1 の関係では機能しません)。 )。

于 2012-05-23T07:40:36.240 に答える