我有以下三个数据库表
对应这些表,我有两个Hibernate POJO
成员变量之一是 joinTable:
@JoinTable(name = "CustomerProductRelation", joinColumns = { @JoinColumn(name = "CUSTOMER_ID") }, inverseJoinColumns = { @JoinColumn(name = "PRODUCT_ID") })
private List<Product> products;
由于某种原因,我需要对 Customer 表使用原生 SQL 查询,在这种情况下,我如何渴望在我的客户列表中获取产品?
我正在做类似的事情:
String queryString = "select c.*,cpr.product_id from Customer c, CustomerProductRelation cpr where c.customer_id = cpr.customer_id";
List list = getSession().createSQLQuery(queryString)
.addEntity("c", Customer.class)
.addJoin("p", "c.products").list();
这似乎不起作用。异常(exception)情况如下:
java.lang.NullPointerException at org.hibernate.loader.DefaultEntityAliases.<init>(DefaultEntityAliases.java:37) at org.hibernate.loader.ColumnEntityAliases.<init>(ColumnEntityAliases.java:16) at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns(SQLQueryReturnProcessor.java:264)
请让我知道是否有人知道此问题的解决方案。
最佳答案
是 this你在看什么? (HHH-2225)
关于sql - 如何在 Hibernate Native SQL Query 中急切获取连接表集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108754/