JPA / Hibernate / Querydsl无法sql命令实体数据类名称Order

我请求包含排序条件示例(id,desc)的分页索引

请求网址

/orders?page=0&size=20&sort=id,desc

错误消息

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataaccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'order.id' [select order1
from com.mystore.domain.Order order1
order by order.id desc]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'order.id' [select order1
from com.mystore.domain.Order order1
order by order.id desc]] with root cause

org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'order.id' [select order1
from com.mystore.domain.Order order1

我测试了@Entity(name="otherOrder")的更改,但是没有用

,但另一个可以分页且排序正确的实体名称 例如卖方,帐户,产品

orderClass

@Entity
@Table(name="orders")
data class Order(
        @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
        val id: Long = 0,@Column(unique = true)
        val merchantUid: String) {}

orderController

@GetMapping
@ApiPageable
fun index(searchOrder: SearchOrder,pageable: Pageable): Page<Any> {
    return orderService.findAllWithSearchAndPageable(searchOrder,pageable)
}

orderService

fun findAllWithSearchAndPageable(searchOrder: SearchOrder,pageable: Pageable): Page<Any> {
    return orderRepository.findAllWithSearchAndPageable(searchOrder,pageable)
}

orderRepositoryImpl

@Autowired
lateinit var jpaQueryFactory: JPAQueryFactory

fun findAllWithSearchAndPageable(serarchOrder: SearchOrder,pageable: Pageable): PageImpl<Any> {
    val query = jpaQueryFactory.select(order)
            .from(order)
    val orders = querydsl!!.applyPagination(pageable,query).fetch()

    return PageImpl(orders as List<Any>,pageable,query.fetchCount())
}

变更单-> OtherNameOther是一种解决方案 还有其他解决方案吗?

wuliangshow 回答:JPA / Hibernate / Querydsl无法sql命令实体数据类名称Order

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2970842.html

大家都在问