我正在嘗試在 Quarkus 中對我的物體進行投影,但我總是遇到錯誤QuerySyntaxException: unexpected token:member
這是模型:
@Entity
@Table(name = "key_performance_indicator")
public class KeyPerformanceIndicator extends PanacheEntity {
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "fk_member")
public Member member;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "fk_execution")
public KpiValuationExecution kpiValuationExecution;
}
DTO:
public class KpiResourceDTO {
private KpiIdentifier identifier;
private LocalDate timestamp;
private Double value;
private Set<MetricDTO> metrics;
public KpiResourceDTO(KpiIdentifier identifier, Double value) {
this.identifier = identifier;
this.value = value;
}
//getters,setters
}
和投影代碼:
Map<String, Object> params = new HashMap<>();
params.put("execution", execution);
params.put("user", member);
KeyPerformanceIndicator.find("member=:user and kpiValuationExecution=:execution",params).project(KpiResourceDTO.class).list();
在最后一行執行投影后,我收到以下錯誤:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: member near line 1, column 168 [SELECT new sk.KpiResourceDTO (identifier, value) FROM sk.KeyPerformanceIndicator WHERE member = ?1]
我檢查了上述物體中是否存在 NULL 值。根據quarkus版本的檔案,嘗試了不同的方法來放置 find 方法的引數:
但沒有任何成功。
你能建議我解決它的任何步驟嗎?謝謝!
uj5u.com熱心網友回復:
嘿,我剛剛解決了。成員當然是 JPQL 關鍵字:/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/428667.html
上一篇:一篇決議論文MapReduce
