2
我有以下情況。JPA/HIBERNATE:值必須是常數
public enum TestEnum{
PUUNITONE("puunitone"),
PUUNITTWO("puunittwo");
private String name;
private TestEnum(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
在
EJB @stateless
類
@PersistenceContext(unitName = TestEnum.PUUNITONE.getName())
private EntityManager entityManager;
我有以下
Compilation Error: Value must be a constant
現在我的問題:
1.在java中的枚舉常量或不?如果是,這裏有什麼問題?
2.是否有一種方法或workarround通過使用Enum作爲常量來解決此問題?
非常感謝任何建議
你沒有使用「getName()」來試試嗎? Oracle文檔說:「...使變量成爲一組預定義的常量」。請參閱:http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html。 – mwhs
可能是這樣的一個副本:http://stackoverflow.com/questions/3271659/use-enum-type-as-a-value-parameter-for-rolesallowed-annotation – mwhs
@mwhs感謝您的評論。不幸的是它不起作用。同樣的錯誤產生 –