如何渴望在Hibernate Native SQL查询中获取联接表集合?

问题描述

| 我有以下三个数据库表 顾客 产品 客户产品关系 与这些表相对应,我有两个Hibernate POJO 产品 顾客 成员变量之一是joinTable:
@JoinTable(name = \"CustomerProductRelation\",joinColumns = { @JoinColumn(name = \"CUSTOMER_ID\") },inverseJoinColumns = { @JoinColumn(name = \"PRODUCT_ID\") })
private List<Product> products;
由于某些原因,我需要在客户表上使用本机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();
这似乎不起作用。异常如下:
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(SQ‌​LQueryReturnProcessor.java:264)
如果有人知道解决方案,请告诉我。     

解决方法

这就是您所看到的吗? (HHH-2225)