【问题标题】:Cast to subclass when joining with the base class using CriteriaBuilder (OpenJPA)使用 CriteriaBuilder (OpenJPA) 加入基类时转换为子类
【发布时间】:2016-08-27 08:54:55
【问题描述】:

我有一个简单的层次结构TradeCustomerOrganisationRoleOrganisationRole 链接到 Organisations。 Organisation 有一个属性 roles 包含组织的所有角色。

我想使用CriteriaBuilder 编写一个JPA 查询,其中根为Organisation,但访问TradeCustomer 的属性,例如,我需要将OrganisationOrganisationRole 连接起来并将其转换为@ 987654332@.

【问题讨论】:

    标签: java jpa inheritance openjpa criteriaquery


    【解决方案1】:

    这是我的解决方案:

    CriteriaQuery<String> query = cb.createQuery(String.class);
    Root<Organisation> root = query.from(Organisation.class);
    Join<Organisation, TradeCustomer> tcJoin = root.join("roles");
    query.select(tcJoin.get(TradeCustomer_.rate));
    

    重要的是使用列的名称 (roles) 而不是 Organisation_.roles。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-08
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多