我无法从数据库加载具有其相对映射对象的对象。我的“地图系统”可能是错误的。

在数据库中保存一个对象(及其相对映射的对象)时,一切正常,因此这些对象似乎已正确映射。

Utente是我的“主”对象

   public class Utente implements Serializable{
        .......
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name = "id_utente", unique = true, nullable = false)
        private Integer idUtente;
        .......


我没有另一个名为Autenticazione的对象,在其中将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;
    }

07-26 09:30