如何解决Micronaut,休眠,错误的查询生成
从 micronaut 2.0.x 迁移到 micronaut 2.5.8 后,我们在生成休眠查询时遇到了一些问题。
看起来生成的 sql 查询中的一些“,”逗号被忽略,属性被视为一个而不是单独的术语。
@Entity
data class Commission(
@Id
var id: String,…
@Column(name = "status")
@Enumerated(EnumType.STRING)
var status: CommissionStatus,@Column(name = "commission_type")
@Enumerated(EnumType.STRING)
var commissionType: CommissionType? = null,@Column(name = "rule_id")
@Size(max = 255)
var ruleId: String? = null,…
}
interface CommissionRepository : JpaRepository<Commission,String> {
…
fun findByProcessIdAndStatus(
processId: UUID,status: CommissionStatus
): Set<CommissionDTO
...
}
我得到:
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: . near line 1,column 267 [SELECT commission.id AS id,commission.eventTimestamp AS eventTimestamp,commission.bookingDate AS bookingDate,commission.sapBookingDate AS sapBookingDate,commission.branchId AS branchId,commission.creditorId AS creditorId,commission.status AS statuscommission.ruleId AS ruleId,commission.magRelevant AS magRelevant,commission.reprocessed AS reprocessed,commission.processId AS processId,commission.reversal AS reversal FROM com.sixt.processing.erp.persistence.Commission AS commission WHERE (commission.processId = :p1 AND commission_.status = :p2)]
在哪里可以看到问题:
commission.status AS statuscommission.ruleId AS ruleId,
这部分应该是这样的:
commission.status AS status,commission.ruleId AS ruleId,
知道那里发生了什么吗?
问候
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。