Hola, Todos
Disculpenme por no escribir en Ingles y espero encontrar alguien quien me pueda ayudar con mi problema.
Estoy queriendo utilizar Hibernate para la persistencia y me veo con problema para implementar el modelo de mis tablas que tiene tenant_id como parte de clave compuesta, a modo de simplificar, detallo el diseño de mis tablas.
ESTAS SON LAS TABLAS
-------
T1
-------
t1_id (pk)
tenant_id (pk)
...
-------
T2
-------
t2_id (pk)
tenant_id (pk) (fk t1.tenant_id)
t1_id (fk t1.t1_id)
......
ESTOS SON LOS MODELOS QUE NO ME FUNCIONAN
Code:
@Entity
class T1{
@EmbeddedId
private T1PK pk;
}
@Embeddable
class T1PK {
@Id
private int t1_id;
@Id
private int tenant_id;
}
@Embeddable
class T2PK {
@Id
private int t2_id;
@Id
private int tenant_id;
}
@Entity
class T2 {
@EmbeddedId
private T2PK pk;
@MapsId("tenant_id")
@ManyToOne(optional = false)
@JoinColumns(value = {
@JoinColumn(name = "tenant_id", referencedColumnName = "tenant_id"),
@JoinColumn(name = "t1_id", referencedColumnName = "t1_id") })
private T1 t1;
}
Este modelo lo que no logro persistir en la base de datos, el tema creo que esta en la tabla T2 donde el campo tenant_id es foreign key y al mismo tiempo es parte de la clave primaria compuesta . Ya busque mucha información pero no consigo hacer andar, necesito eso para aislar los datos de cada empresa a nivel de base de datos.
Espero algún comentario sobre lo que quiero implementar.
Edgar Villalba, desde PARAGUAY...