我正试图将两个具有相同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和其他框架上使用它。