在Java中,如何将静态表(不可扩展)映射到枚举,并将此表绑定到另一个表?
例如,我有一个简单的计算器web应用程序(spring web MVC + hibernate),只有一个表(用户计算的结果),其中包含以下字段:id (PK),leftOperand,operation,rightOperand,result。
我想创建一个新的静态表(我指的是基本的算术操作,如PLUS、MINUS、DIVIDE、MULTIPLY)和2个字段:id(PK)和operation,并将该表映射到java语言中的枚举。
那么如何绑定这两个表(使用operation字段)?我们非常欣赏一些伪代码。
请注意,我不需要为静态表创建hibernate实体。只是枚举。
发布于 2016-04-04 16:19:30
与类一样,您可以向枚举添加属性,如下所示:
public enum MyEnum {
PLUS(1, "something"),
MINUS(2, "something");
private final int id;
private final String string;
private MyEnum(int id, String string){
this.id = id;
this.string = string;
}
public int getId(){
return id;
}
public String getString(){
return string;
}
}假设'opreration‘字段与枚举的name匹配,您可以执行以下操作:
MyEnum enumValue = MyEnum.valueOf(map.get("operation"));发布于 2016-04-04 16:41:06
我认为操作值不需要静态表。只需将operation字段类型更改为枚举并使用@Enumerated即可。
enum Operation {
PLUS, MINUS;
}
@Entity
public class Calculation {
private String leftOperand;
@Enumerated(EnumType.STRING)
private Operation operation;
private String rightOperand;
}https://stackoverflow.com/questions/36397457
复制相似问题