【问题标题】:QUERYDSL: Unable to get query type for primary key in the inherited entityQUERYDSL:无法获取继承实体中主键的查询类型
【发布时间】:2018-04-20 10:39:36
【问题描述】:

我拥有的所有实体都继承了一个父类,其作用是生成主键。但是,当我尝试从文档中加入两个类似这样的表时

 query.from(customer)
 .leftJoin(company).on(customer.company.eq(company.id))
.list(customer.firstName, customer.lastName, company.name);

但是,我在生成的查询类型中没有 Id 字段。 除了使用本机查询之外,是否还有其他选择,因为我也有过滤器,这些过滤器作为 BooleanExpression 动态生成,我想在 where 子句中传递。

【问题讨论】:

  • 能否请您发布实体和查询类型的代码?

标签: java spring spring-data-jpa querydsl


【解决方案1】:

你的父/超类中需要一个@MappedSuperclass

如果您从多个超类派生,则必须使用@MappedSuperclass 标记所有超类以获取继承的字段。这对于 QueryDSL 是强制性的。

【讨论】:

    猜你喜欢
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多