使用JPA将多行映射到2个实体?

时间:2014-04-17 08:31:16

标签: java jpa oracle11g

我有一个带有多个“subTask”实体(List)的实体“Project”。现在正常,这将是简单的,并在数据库中分离,易于映射。但在这种情况下,我只有1个视图。这意味着每个子任务的行都包含每条记录上的项目数据。

示例:

projectId | projectName | subTaskId | subTaskName | ....
---------------------------------------------------------
1         | projectTest | 1         | subTaskTest | ....
1         | projectTest | 2         | subTaskTest2| ....

我正在尝试使用JPA找到一种方法来映射它,但我不确定这是否完全可能,如果是这样,这将是最好的方法。

以前有人试过这个吗?你能指出我正确的方向吗?

编辑:

一些额外信息:我需要创建一个可以返回Projects(包括所有子任务)的Web服务。而且它只是可读的,没有写作或编辑。

1 个答案:

答案 0 :(得分:3)

使用两个Java类ProjectEmbedded - EmbeddableSubTask - 实体。这是正确的解决方案,因为您无法在此视图中插入新条目(如新项目)

@Embeddable
public class ProjectEmbedded {
    private Long projectId;
    private String projectName;
}


@Entity
public class SubTask {
    private Long subTaskId;
    private String subTaskName;
    @Embedded
    private ProjectEmbedded project;
}