sql - 如何在 Hibernate Native SQL Query 中急切获取连接表集合?

标签 sql hibernate native

我有以下三个数据库表

  • 客户
  • 产品
  • 客户产品关系

  • 对应这些表,我有两个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(SQ‌​LQueryReturnProcessor.java:264)
    请让我知道是否有人知道此问题的解决方案。

    最佳答案

    this你在看什么? (HHH-2225)

    关于sql - 如何在 Hibernate Native SQL Query 中急切获取连接表集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108754/

    相关文章:

    java - hibernate 无故插入

    java - GWT:使用 JSNI 的 native 方法:如何动态调用方法

    php - 现在加入我的查询速度很慢

    sql - 在 SSIS 表达式中查找前一周的第一天和最后一天

    java - JPA - 使用带有组合键的 Criteria 内连接表的问题

    reactjs - 如何在 React Native 中使用断点进行调试

    firefox-addon - 火狐扩展 : native code execution?

    mysql - 将多个数据库字段更改为小写

    mysql - 使用mysql识别连续停留

    java - Criteria.list() 以 BatchUpdateException : Data truncation 结尾