Pregunta

Estoy intentando conseguir esta asignación para el trabajo, pero me da este mensaje de excepción extraña

Could not determine type for: foo.ProcessUser, at table: ProcessUser_onetimeCodes, for columns: [org.hibernate.mapping.Column(processUser)]

@Entity
public class ProcessUser {

  @Setter
  private List<OnetimeCodes> onetimeCodes;

  @CollectionOfElements
public List<OnetimeCodes> getOnetimeCodes() {
    return onetimeCodes;
  }
}


@Embeddable
@Data
public class OnetimeCodes {

    @Parent
    private ProcessUser processUser;

    @Column(nullable=false)
    @NotEmpty
    private String password;


    public OnetimeCodes(ProcessUser processUser, String password) {
        this.processUser = processUser;
        this.password = password;
    }
}

puede manchar a nadie cuál es incorrecto aquí? Tengo hibernate.hbm2ddl.auto en create

¿Fue útil?

Solución

He encontrado el error.

No se puede tener en la asignación de atributo en una de las clases, y por captadores, por el otro. Ellos deben coincidir.

Así que cambié

@Embeddable
@Data
public class OnetimeCodes {

    @Parent
    private ProcessUser processUser;

    @Column(nullable=false)
    @NotEmpty
    private String password;


    public OnetimeCodes(ProcessUser processUser, String password) {
        this.processUser = processUser;
        this.password = password;
    }
}

a

@Embeddable
public class OnetimeCodes {

    private ProcessUser processUser;

    private String password;

    public OnetimeCodes(ProcessUser processUser, String password) {
        this.processUser = processUser;
        this.password = password;
    }

    @Parent
    public ProcessUser getProcessUser() {
        return processUser;
    }

    public void setProcessUser(ProcessUser processUser) {
        this.processUser = processUser;
    }

    @Column(nullable=false)
    @NotEmpty
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

y la viola. Muy estúpido si me preguntas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top