休止状態で問題が発生しています。自然な複合主キーを持つテーブルにエンティティがマップされています。主キーは、必須のコードとオプションの日付または期間 ID のいずれかで構成されるため、date と period_id は相互に排他的です。私はそれを hbm にマッピングしました (はい、まだ注釈はありません)。
<composite-id name="myEntity" class="myEntity">
<key-property name="code" column="bookcode" />
<key-property name="period" column="PRD_ID" />
<key-property name="pDate" column="PNL_DT"/>
</composite-id>
ただし、日付が null ではなく、期間が null である myEntity に対してクエリを実行すると、myEntity オブジェクトの設定に失敗します。失敗する理由はわかりませんが、ピリオドの NULL 値が返された後、hibernate が返された属性のログ記録を停止することがわかります。
org.hibernate.type.NullableType.nullSafeSet:151 - binding '1157' to parameter: 4
org.hibernate.type.NullableType.nullSafeGet:193 - returning '1157' as column: LVE1_69_
org.hibernate.type.NullableType.nullSafeGet:187 - returning null as column: PRD2_69_
END OF LOGGING
PeriodId キー プロパティを削除すると問題が解決し、myEntity が正常に読み込まれます。
org.hibernate.type.NullableType.nullSafeSet:151 - binding '1156' to parameter: 4
org.hibernate.type.NullableType.nullSafeGet:193 - returning '1156' as column: LVE1_69_
org.hibernate.type.NullableType.nullSafeGet:193 - returning '2012-04-06 00:00:00' as column: PNL2_69_
org.hibernate.type.NullableType.nullSafeGet:193 - returning '1156' as column: LVE1_69_
LOTS MORE RETURNING lines.
key-property の not-null="false" 属性が疑われますが、ドキュメント内でこれを見つけることができませんでした。