這是怎麼了我的域名看起來:JPA獲取連接查詢
public class Template implements Serializable {
private static final long serialVersionUID = 1L;
@OneToOne(cascade=CascadeType.ALL)
private FieldConfig fieldConfig;
}
public class FieldConfig implements Serializable {
private static final long serialVersionUID = 1L;
@OneToMany(cascade= CascadeType.PERSIST)
@JoinColumn(name = "fieldConfigId")
private Set<Field> fieldSet;
}
我要實現的,如果我加載從自動fieldConfig加載數據庫和fieldconfig的字段集的模板。
我目前的JPQL:
TypedQuery<Template> query = em.createQuery("SELECT t from Template t LEFT JOIN FETCH t.fieldConfig"
+ " fconfig LEFT JOIN FETCH fconfig.fieldSet where t.id = :id", Template.class);
我的例外:
Internal Exception: NoViableAltException([email protected][()* loopback of 477:9: (node= join)*])
Exception Description: Syntax error parsing the query [SELECT t from Template t LEFT JOIN FETCH t.fieldConfig fconfig LEFT JOIN FETCH fconfig.fieldSet where t.id = :id], line 1, column 55: unexpected token [fconfig].
創造這樣的查詢有什麼想法?
是'@ Template'和'@ FieldConfig'標註爲實體或描述符中的配置呢? –
是當然,我沒有包括可讀性:) –
該查詢看起來對我來說是正確的。你的JPA引擎是什麼?你有沒有嘗試使用AS fconfig來查看它是否有所作爲? –