Ich ging durch mehrere Beiträge, aber keiner von ihnen arbeitete für mich. Ich versuche, einen Cnsm-Datensatz und den zugehörigen untergeordneten Datensatz cnsmPrefCntcInfos zur gleichen Zeit abzurufen. Ich bin auch in der Lage zu sehen, Hibernate-Abfrage generiert, um den untergeordneten (cnsmPrefCntcInfos) Datensatz abzurufen. Wenn ich jedoch CNSM drucke, bekomme ich ein leeres Objekt zurück.JPA eifrig holen keine Ergebnisse zurück
@Entity
@Table(name = "CNSM")
public class Cnsm implements java.io.Serializable {
private BigDecimal cnsmId;
private String cnsmFstNm;
private String cnsmMidlNm;
@Id
@Column(name = "CNSM_ID", unique = true, nullable = false, precision = 22, scale = 0)
public BigDecimal getCnsmId() {
return this.cnsmId;
}
public void setCnsmId(BigDecimal cnsmId) {
this.cnsmId = cnsmId;
}
@Column(name = "CNSM_FST_NM", length = 35)
public String getCnsmFstNm() {
return this.cnsmFstNm;
}
public void setCnsmFstNm(String cnsmFstNm) {
this.cnsmFstNm = cnsmFstNm;
}
@Column(name = "CNSM_MIDL_NM", length = 25)
public String getCnsmMidlNm() {
return this.cnsmMidlNm;
}
public void setCnsmMidlNm(String cnsmMidlNm) {
this.cnsmMidlNm = cnsmMidlNm;
}
@OneToMany(fetch = FetchType.EAGER, mappedBy = "cnsm")
private Set<CnsmPrefCntcInfo> cnsmPrefCntcInfos = new HashSet<CnsmPrefCntcInfo>(0);
public Set<CnsmPrefCntcInfo> getCnsmPrefCntcInfos() {
return this.cnsmPrefCntcInfos;
}
public void setCnsmPrefCntcInfos(Set<CnsmPrefCntcInfo> cnsmPrefCntcInfos) {
this.cnsmPrefCntcInfos = cnsmPrefCntcInfos;
}
}
@Entity
@Table(name = "CNSM_PREF_CNTC_INFO")
public class CnsmPrefCntcInfo implements java.io.Serializable {
private BigDecimal cnsmPrefCntcInfoId;
private Cnsm cnsm;
private String cntcTyp;
private Set<CnsmPrefPstAdr> cnsmPrefPstAdrs = new HashSet<CnsmPrefPstAdr>(0);
private Set<CnsmPrefTelCmnct> cnsmPrefTelCmncts = new HashSet<CnsmPrefTelCmnct>(0);
@Id
@Column(name = "CNSM_PREF_CNTC_INFO_ID", unique = true, nullable = false, precision = 22, scale = 0)
public BigDecimal getCnsmPrefCntcInfoId() {
return this.cnsmPrefCntcInfoId;
}
public void setCnsmPrefCntcInfoId(BigDecimal cnsmPrefCntcInfoId) {
this.cnsmPrefCntcInfoId = cnsmPrefCntcInfoId;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CNSM_ID")
public Cnsm getCnsm() {
return this.cnsm;
}
public void setCnsm(Cnsm cnsm) {
this.cnsm = cnsm;
}
@Column(name = "CNTC_TYP", length = 50)
public String getCntcTyp() {
return this.cntcTyp;
}
public void setCntcTyp(String cntcTyp) {
this.cntcTyp = cntcTyp;
}
@OneToMany(fetch = FetchType.LAZY, mappedBy = "cnsmPrefCntcInfo")
public Set<CnsmPrefPstAdr> getCnsmPrefPstAdrs() {
return this.cnsmPrefPstAdrs;
}
public void setCnsmPrefPstAdrs(Set<CnsmPrefPstAdr> cnsmPrefPstAdrs) {
this.cnsmPrefPstAdrs = cnsmPrefPstAdrs;
}
@OneToMany(fetch = FetchType.LAZY, mappedBy = "cnsmPrefCntcInfo")
public Set<CnsmPrefTelCmnct> getCnsmPrefTelCmncts() {
return this.cnsmPrefTelCmncts;
}
public void setCnsmPrefTelCmncts(Set<CnsmPrefTelCmnct> cnsmPrefTelCmncts) {
this.cnsmPrefTelCmncts = cnsmPrefTelCmncts;
}
}
Repo Service
@Query("SELECT c FROM Cnsm c WHERE c.id = '123'")
Cnsm findCnsmById();
Hauptklasse
Cnsm c = IRepository.findCnsmById();
System.out.print(c); // returns empty cnsmPrefCntcInfos object
Hibernate: wählen cnsm0_.CNSM_ID als CNSM_ID1_4_, cnsm0_.CNSM_FST_NM als CNSM_FST4_4_, cnsm0_. CNSM_MIDL_NM als CNSM_MID6_4 _ Von CNSM cnsm0_ wo cnsm0_.CNSM_ID = 103
Unten ist die Hibernate-Abfrage, die erzeugt wird cnsmPrefCntcInfos zu holen, aber nicht sicher, warum cnsmPrefCntcInfos zurück leer kommt
Hibernate: wählen cnsmprefcn0_.CNSM_ID als CNSM_ID15_4_1_, cnsmprefcn0_.CNSM_PREF_CNTC_INFO_ID als CNSM_PRE1_7_1_, cnsmprefcn0_.CNSM_PREF_CNTC_INFO_ID als CNSM_PRE1_7_0_, cnsmprefcn0_.CNSM_ID als CNSM_ID15_7_0_, cnsmprefcn0_.CNTC_TYP als CNTC_TYP2_7_0_ von CNSM_PREF_CNTC_INFO cnsmprefcn0_ wo cnsmprefcn0_.CNSM_ID =?
Wie bekomme ich cnsmPrefCntcInfos (EAGER) beim Abrufen cnsm Objekt? Ich habe viele solche Assoziationen wie cnsmPrefCntcInfos in cnsm, die ich zum Zeitpunkt des Abrufs cnsm abrufen möchte.
Sie überprüft die Datenbank und sicher, dass Sie Ihre Einträge dort haben? –
Haben Sie beide Tabellen im gleichen Schema oder Differenzschema? – Gokul
sie sind im gleichen Schema – user1736333