Tengo el siguiente esquema de DB (simplificado)¿Es posible mapear un campo en una entidad sin definir ninguna asociación?
MainTable(
ID primary key
SOMEFIELD
CODE_FK1 -- references OtherTable1 CODE (without declared foreign key)
CODE_FK2 -- references OtherTable2 CODE (without declared foreign key)
... Other fields used
)
OtherTable1(
CODE primary key
LABEL
... other fields not used
)
OtherTable2(
CODE primary key
LABEL
... other fields not used
)
que estoy preguntando si hay alguna manera de definir mi Entidad para la mesa principal con el fin de utilizar etiquetas directamente desde mis otras tablas, es decir, sin definir entidades para estas otras tablas.
No puedo cambiar el esquema de base de datos, que es realmente horrible (hay parejas de etiquetas/códigos en todas partes, definidas en tablas múltiples). Y si fuera posible, esta solución permitiría mantener mi código simple, ya que realmente no necesito estas otras entidades.
supongo que resultaría algo así:
@Entity
public class MainEntity{
@Id
private Integer ID;
@Column(name="SOMEFIELD")
private String SomeField;
@SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
@SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
private String Label1;
@SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
@SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
private String Label1;
}
Gracias por adelantado por su ayuda!
realmente dudo si esto es posible con la APP (en las relaciones a nivel de entidad con se definen otras entidades, no la forma de obtener los campos en entidades unidas). ¿Ha considerado esas dos opciones: a) asignar todas las tablas relevantes a las entidades JPA y realizar consultas cuando las necesite; b) ¿usar JDBC para simplificar la vida, si no hay mucha interacción DB? –