有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案