我是一个尝试学习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,但我不知道如何映射它,因为我没有它的类。我是否需要以不同的方式完成我的多对多关系,并且给它自己的课程?任何其他方式,我忽略这将帮助我达到预期的效果?
如果您需要更多代码,我会发布。