![](/img/trans.png)
[英]What should I prefer using JPA - pure SQL or JPQL and how to create/delete table using JPQL and Entity
[英]How should I refer to inner enums (defined within an entity) from a JPQL query using Hibernate?
我有一個實體類如下:
package stuff;
@Entity
class Thing {
@Id
@GeneratedValue
private Long id;
@Basic
@Enumerated
private State state;
public enum State {
AWESOME,
LAME
}
}
如何使用JPQL和Hibernate選擇狀態為AWESOME的所有東西?
select t from Thing t where t.state=stuff.Thing.State.AWESOME
......給出錯誤......
org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'stuff.Thing.State.AWESOME'
使用以下習語:
select t from Thing t where t.state=stuff.Thing$State.AWESOME
Type$InnerType
是Java的內部類型的命名約定。
當您嘗試使用點表示法時,Hibernate會假設您正在嘗試訪問嵌套屬性,在這種情況下(正確)失敗。
select t from Thing t where t.state='AWESOME'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.