java非典型JPA OneToOne关系
我使用JPA有问题
我必须要:
-----------------
| TableA |
|---------------|
| ID: INT |
| ... |
| ESTATUS1: INT |
| ESTATUS2: INT |
-----------------
-----------------
| EstatusTags |
|---------------|
| COD: VARCHAR |---> COD and VALUE are a concatenated PK
| VALUE: INT |
| DESC: VARCHAR |
-----------------
EstatusTags是一个表,用于存储给定COD的成对集合[VALUE,DESC]
在使用JPA之前,我曾用如下方式查询此类数据:
SELECT ID, ESTATUS1, ESTATUS2, E1.DESC DESC1, E2.DESC DESC2
FROM TABLEA A
INNER JOIN ESTATUSTAGS E1 ON E1.COD = "a_estatus1"
AND E1.VALUE = A.ESTATUS1
INNER JOIN ESTATUSTAGS E2 ON E2.COD = "a_estatus2"
AND E2.VALUE = A.ESTATUS2
我试图使用JPA通过两个实体类对此进行建模:
@Entity
@Table(name = "EstatusTags")
public class EstatusTags implements Serializable {
@EmbeddedId
private ValueTagPK id;
@Column(name="VVA_DESC")
private String desc;
@Column(name="VVA_ORDEN")
private Integer orden;
}
@Entity
@Table(name = "TableA")
public class A implements Serializable {
@Column(name="ID")
private String desc;
@OneToOne(???)
private EstatusTag estatus1;
@OneToOne(???)
private EstatusTag estatus2;
}
我非常怀疑如何建立这种关系的模型。可以用注释来完成吗?有必要使用JPQL来适应这种结构吗
我希望有人能帮我
非常感谢
共 (0) 个答案