如何使用 FetchType.EAGER
how to use FetchType.EAGER
我无法从数据库加载具有相关映射对象的对象。可能我的"map system"是错的。
在数据库中保存对象(及其相关映射对象)时一切正常,因此对象似乎已正确映射。
Utente 是我的 "master" 对象
public class Utente implements Serializable{
.......
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_utente", unique = true, nullable = false)
private Integer idUtente;
.......
我有另一个名为 Autenticazione
的对象,其中我 link Autenticazione
到 Utente
public class Autenticazione implements Serializable{
....
@OneToOne(targetEntity=Utente.class)
@JoinColumn(name="utente", referencedColumnName="id_utente")
private Utente utente;
...
当我从数据库中获取一个 Utente
对象时,我还想获取它的 Autenticazione
对象。我尝试了一些代码(为了避免混淆没有在这里发布),但我没有找到解决方案。
您还需要添加从 Utente 到 Autenticazione 的关联:
public class Utente implements Serializable{
.......
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_utente", unique = true, nullable = false)
private Integer idUtente;
.......
@OneToOne(mappedBy = "utente")
private Autenticazione autenticazione;
确保使用辅助方法设置关联的两侧,就像您应该添加到 Utente 的方法一样:
public void addAutenticazione(Autenticazione autenticazione) {
autenticazione.setUtente(this);
this.autenticazione = autenticazione;
}
我无法从数据库加载具有相关映射对象的对象。可能我的"map system"是错的。
在数据库中保存对象(及其相关映射对象)时一切正常,因此对象似乎已正确映射。
Utente 是我的 "master" 对象
public class Utente implements Serializable{
.......
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_utente", unique = true, nullable = false)
private Integer idUtente;
.......
我有另一个名为 Autenticazione
的对象,其中我 link Autenticazione
到 Utente
public class Autenticazione implements Serializable{
....
@OneToOne(targetEntity=Utente.class)
@JoinColumn(name="utente", referencedColumnName="id_utente")
private Utente utente;
...
当我从数据库中获取一个 Utente
对象时,我还想获取它的 Autenticazione
对象。我尝试了一些代码(为了避免混淆没有在这里发布),但我没有找到解决方案。
您还需要添加从 Utente 到 Autenticazione 的关联:
public class Utente implements Serializable{
.......
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_utente", unique = true, nullable = false)
private Integer idUtente;
.......
@OneToOne(mappedBy = "utente")
private Autenticazione autenticazione;
确保使用辅助方法设置关联的两侧,就像您应该添加到 Utente 的方法一样:
public void addAutenticazione(Autenticazione autenticazione) {
autenticazione.setUtente(this);
this.autenticazione = autenticazione;
}