JPA-创建具有多个表的平面实体

时间:2018-09-13 00:50:38

标签: java jpa olingo

我正试图将两个具有相同ID的表联接到一个普通实体中。

一些研究发现@SecondaryTable可以解决问题。

但是,出现以下错误: 异常描述:表[“ PLAYER”]在此描述符中不存在。

以下是源代码的当前版本。

@Entity(name = "PlayerConfig")
@Table(schema = "x", name = "\"PLAYER_CONFIG\"")
@SecondaryTable(schema = "b", name = "\"PLAYER\"", pkJoinColumns = @PrimaryKeyJoinColumn(name = "PLAYER_ID", referencedColumnName = "player_id"))
public class PlayerConfig {

    @Id
    @Column(name = "player_id")
    private int playerId;

    @Column(name = "CURRENT_TEAM_ID", table = "\"PLAYER\"")
    private int teamId;

    .. getters and setters
}

表的配置如下:

      <createTable schemaName="x" tableName="PLAYER_CONFIG">    
        <column name="player_id" type="INT">
           <constraints primaryKey="true" nullable="false"/>
        </column>   
      </createTable>

      <createTable schemaName="b" tableName="PLAYER">   
        <column name="PLAYER_ID" type="INT">
           <constraints primaryKey="true" nullable="false"/>
        </column>   
        <column name="CURRENT_TEAM_ID" type="INT"/>
    </createTable>

有什么想法吗?

这与@JoinColumn一起使用,但是我需要创建一个平面实体,以便以后在Apache Olingo和其他框架上使用它。

0 个答案:

没有答案