Tengo dos tablas:
-Grupos: Con las siguientes columnas:
Nombre_Servicio
Responsable
Descripcion
FechaBaja
Donde Nombre_Servicio y Responsable forman la pk
-Ing_Pruebas:
Nombre
Grupo
Responsable
FechaBaja
Donde Nombre y grupo forman la pk y grupo y responsables forman una fk de la tabla Grupos
Ahora mediante la ingenieria inversa obtuve los pojos. Una clase Grupos.java, otra IngPruebas.java, y las clases idCorrespondientes (gruposid.java y ingpruebasid.java)
El problema que tengo es que al insertar un registro en la tabla ing_pruebas no me mapea la columna responsable, parte del mapeo es el siguiente:
En la clase ingPruebas.java
...
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name = "nombre", column = @Column(name = "NOMBRE", nullable = false, length = 100)),
@AttributeOverride(name = "grupo", column = @Column(name = "GRUPO", nullable = false, length = 100)) })
public IngPruebasId getId() {
return this.id;
}
.....
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns( {
@JoinColumn(name = "GRUPO", referencedColumnName = "NOMBRE_SERVICIO", insertable = false ,nullable = false, updatable = false),
@JoinColumn(name = "RESPONSABLE", referencedColumnName = "RESPONSABLE", insertable = false, nullable = false,updatable = false) })
public Grupos getGrupos() {
return this.grupos;
}
El campo responsable esta como una joincolumn con insertable=false, el probelma es que si quito eso me da probelmas porque tengo que quitarlo en las dos columnas join, y si lo quito en las dos me dice que el campo grupo esta mapeado dos veces.
¿podría indicarme alguien como se hace el mapeo para que en el insert tb tome la columna responsable?