2
私は複数の子(paysteps)を持つhibernateエンティティ(paygrade)を持っており、これらの子をアプリで照会しようとしています。残念ながら、私はクエリの最初のレコードを取得することしかできません。クエリがデータベースから9件の結果を返しますが、唯一のこれまで冬眠Hibernateの1対多が完全な結果セットを返さない
Hibernate:
/* load one-to-many ...Paygrade.paygradeSteps */ select
paygradest0_.grade_code as grade1_38_1_,
paygradest0_.grade_code as grade1_1_,
paygradest0_.scale_code as scale2_1_,
paygradest0_.grade_code as grade1_39_0_,
paygradest0_.scale_code as scale2_39_0_,
paygradest0_.grade_name as grade3_39_0_,
paygradest0_.scale_name as scale4_39_0_,
paygradest0_.scale_point as scale5_39_0_,
paygradest0_.scale_value as scale6_39_0_
from
tv_grade_point paygradest0_
where
paygradest0_.grade_code= 'Grade 9'
:ここでは実体
public class Paygrade extends Persistent {
@Id
@Column(length = 80, updatable=false)
private String code;
@Column(length = 80, updatable=false)
private String name;
@OneToMany(mappedBy = "paygrade", fetch = FetchType.LAZY)
@ForeignKey(name = "none")
private Set<Paystep> paygradeSteps = new HashSet<Paystep>();
// getters and setters
}
@IdClass(PaystepPK.class)
public class Paystep {
@Id
@Column(length = 80, updatable=false)
protected String gradeCode;
@Column(length = 80, updatable=false)
protected String gradeName;
@Id
@Column(length = 80, updatable=false)
protected String scaleCode;
@Column(length = 80, updatable=false)
protected String scaleName;
@Column(length = 80, updatable=false)
protected String scalePoint;
@Column(updatable=false)
protected Long scaleValue;
@ManyToOne
@ForeignKey(name = "none")
@JoinColumn (name="grade_code", updatable = false, insertable = false)
private Paygrade paygrade;
// getters and setters
}
は、以下のクエリがpaygradeインスタンスの休止getPaygradeStepsを呼び出すとき()メソッドによって呼び出されます最初のレコードを取得します。私はpaystepの複合キー(レガシーデータベースでhibernateを使用している場合の危険性)と関連があると想定しています。
誰もこの動作がポップアップした理由を知っていますか?