繁体   English   中英

非唯一列上的Hibernate onetoMany映射

[英]HIbernate onetoMany mapping on non unique column

我有以下三个牌桌玩家,比赛和媒体,如下所示

Player
    player_id-->PK
    Media_id

Match
    match_id-->PK
    Media_id

Media
   Media_internal_id --> PK
   Media_id 
   Other_details

媒体ID是非唯一列,可以具有重复值,它是联接列。 现在我想加载与播放器关联的所有媒体对象

尝试过以下

Player{
    @OneToMany
    @Formula("SELECT * FROM MEDIA WHERE MEDIA_ID = MEDIA_ID")
        private List<Media> media= new ArrayList<Media>();
}

仓库代码

@Repository
public interface PlayerRepository extends JpaRepository<Player, Integer>{

    @Query(value="  SELECT P.* FROM PLAYER P  ", nativeQuery=true)   
    public List<Player> findAllPlayer();

}

错误:

o.h.e.jdbc.spi.SqlExceptionHelper - Table 'tennis.PLAYER_media' doesn't exist

如何映射?

您只能将主键用于劳资关系。

下面是单向示例。

Player{
    @OneToMany
    @JoinColumn(name = "player_id")
    private List<Media> media= new ArrayList<Media>();
}

玩家:
player_id-> PK
其他详情

媒体:
Media_id-> PK
player_id-> JoinColumn
其他详情

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM