0
(n + 1)解決できない問題を選択してください。私は非PK列とテーブルを結合しています。非PK参加のHibernate(n + 1)選択
マイスキーマ
レコード
RECORD_ID(PK)
Carrier_Number
Audit_Details 1-にあり
AuditId(PK)
Carrier_Number
〜の間の数多くの関係レコードとAudit_Details
マイrecords.hbm.xml
<set lazy="true" name="auditDetails" sort="unsorted"
table="AUDIT_DETAILS" inverse="true">
<key column="Carrier_Number" not-null="true" property-ref="carrierRefNumber"/>
<one-to-many
class="com.package.AuditDtls" />
</set>
これは私が取得するために変更しようとしてい
select
this_.CARRIER_NUMBER as CARRIER1_2_2_,
abc1_.CARRIER_NUMBER as CARRIER8_3_0_,
otm4_.CARRIER_NUMBER as CARRIER1_2_1_,
from
RECORDS this_
inner join
AUDIT_DETAILS abc1_
on this_.CARRIER_NUMBER=abc_.CARRIER_NUMBER
left outer join
RECORDS otm4_
on abc1_.CARRIER_NUMBER=otmp4_.CARRIER_NUMBER
where
this_.LOAD_ID=?
select
auditde0_.CARRIER_NUMBER as CARRIER8_1_
from
AUDIT_DTLS auditde0_
where
auditde0_.CARRIER_NUMBER=?
のようなクエリを生成
<many-to-one
class="com.package.Records" fetch="join"
name="Records" column="Carrier_Number" not-null="true" property-ref="carrierNumber" lazy="false"/>
マイauditDetails.hbm.xml =」 lazy = "false"とlazy = "no-proxy"を変更しますが、これまでのところ何も機能していません。私はこの問題がnonPK列で2つのテーブルを結合するためにあるかどうかはわかりません。何か提案をいただければ幸いです。