我是一個嘗試學習Hibernate的J2EE新手。我有兩個表,System和Game,以及一個名爲Systems_game的連接表。休眠查詢未映射連接表
我希望能夠放入一個game_id並獲得該遊戲的所有系統。
我在System.java和Game.java上使用Annotations來創建多對多關係。
@ManyToMany(targetEntity = System.class, cascade = { CascadeType.ALL })
@JoinTable(name="Systems_game",
joinColumns = { @JoinColumn(name="game_id") },
inverseJoinColumns = { @JoinColumn(name="system_id") })
private List<Game> games;
這裏是我用來試圖獲得我想要的結果的方法。
@Override
public List getGameSystem(){
return sessionFactory.getCurrentSession().createQuery("from Systems_game S WHERE S.game_id=1").list();
}
當該運行時,我得到
「請求處理失敗;嵌套的異常是org.hibernate.hql.ast.QuerySyntaxException:Systems_game未映射[從Systems_game S其中S.game_id = 1]」
我知道我的hibernate.cfg.xml文件中沒有映射systems_game,但我不知道如何映射它,因爲我沒有它的類。我是否需要以不同的方式完成我的多對多關係,並且給它自己的課程?任何其他方式,我忽略這將幫助我達到預期的效果?
如果您需要更多代碼,我會發布。