HQL JoinTable无法访问2

时间:2013-02-14 15:14:15

标签: hql

我有类似的代码

@ManyToMany(cascade = {CascadeType.ALL})@JoinTable(name =“AssignedBook_Person”,joinColumns = {@ JoinColumn(name =“person_Id”)},inverseJoinColumns = {@JoinColumn(name =“book_Id”)} )

如您所见,我的JoinTable名称是AssignedBook_Person,我想从该代码中获取一些数据

列出borrowedBook = session createQuery(“来自AssignedBook_Person”) .setCacheable(真).LIST();

但它给出了这个错误“AssignedBook_Person未映射”

有没有人知道如何解决JoinTable问题。

由于

1 个答案:

答案 0 :(得分:0)

您不能通过HQL直接查询数据库表,因为它不对数据库表进行操作 - 它对实体进行操作。这是对象关系映射的主要思想。

连接表包含有关Book和Person之间关系的数据,因此可以通过选择其中一个实例然后检查相关实体来获取数据。

如果只需要join_table中的原始数据,可以使用本机查询:

session.createSQLQuery(SELECT person_id, book_id FROM AssignedBook_Person);