Java JPA/HIBERNATE:值必须是常量
我有以下情况Java JPA/HIBERNATE:值必须是常量,java,hibernate,jakarta-ee,jpa,enums,Java,Hibernate,Jakarta Ee,Jpa,Enums,我有以下情况 public enum TestEnum{ PUUNITONE("puunitone"), PUUNITTWO("puunittwo"); private String name; private TestEnum(String name) { this.name = name; } public String getName() { return name; } } 在EJB@s
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.使用枚举作为常量有没有解决此问题的方法或方法? 谢谢你的建议
getName()
不是常量:编译器无法判断它是否总是返回相同的结果字符串
或一个最终静态字符串
。只有这些是编译器的常量您在没有“getName()”的情况下尝试过吗?Oracle docs这样说:“…使变量成为一组预定义的常量”。请参阅此处:。可能是此的副本:@mwhs谢谢您的评论。不幸的是,它不起作用。同样的错误也发生了