クラスA
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "A")
private Set<B> Bs = new HashSet<B>();
クラスB
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumns({
@JoinColumn(name = "INT_C", nullable = false, insertable = false, updatable = false),
@JoinColumn(name = "SBC_C", nullable = false, insertable = false, updatable = false) })
private A a;
私が行うgetB()
と、1行しか取得できませんが、 と の組み合わせについてはINT_C
、SBC_C
3行が存在します。
ここで何が問題なのか教えてください。
Rows in DB
SBC_C INT_C FILE_C OUTPUT_FILE_NM
--------------------------------------------
MYACCESS CR CRC DataHub_DEVC.dat
MYACCESS CR CRG DataHub_DEVG.dat
MYACCESS CR CRU DataHub_DEVU.dat
B エンティティ ID:
@EmbeddedId
private ObFileId id;
ObFileId クラス:
@Embeddable
public class ObFileId implements IXDomain {
@Override
public int hashCode() {
return getICode().hashCode() + getSCode().hashCode();
}
@Override
public boolean equals(Object obj) {
return ((obj instanceof ObFileId)
&& (getICode().equals(((ObFileId) obj)
.getICode())) && (getSubscriberCode()
.equals(((ObFileId) obj).getSCode())));
}