1
以下JPA查詢不會編譯:Java的JPA 「錯誤編譯查詢」 時,它使用一個枚舉
@NamedQuery(name = "PSA.findBySourceSystem",
query = "SELECT p FROM PSA p WHERE p.sourceSystem.id = :sourceSystemId")
p.sourceSystem是以下枚舉:
public enum SourceSystem {
FIRST(3, "ABC"), SECOND(9, "DEF"), THIRD(17, "GHI");
private int id;
private String code;
...
}
,並映射在PSA的基地類:
public class PsaBase implements Serializable {
@Column(name = "sourceSystemId")
@Enumerated(EnumType.ORDINAL)
protected SourceSystem sourceSystem;
...
}
查詢編譯和運行的罰款,如果我再將p.sourceSystem.id放在查詢中,並使用更加友好的方式。
非常感謝您的幫助。
謝謝,幫助它編譯, 3例如,它總是綁定0.該id是我在查詢結果中查找。 – 2010-11-16 17:16:31
@David:已更新。 – axtavt 2010-11-16 17:26:56
啊!我明白了 - 我只是認爲0是一個默認值。非常感謝 - 這就是我所需要的。 – 2010-11-16 17:40:43