【发布时间】:2021-03-26 18:08:45
【问题描述】:
public enum CameraType {
CAMERA(false, false, "External lens ", ""),
CameraType{
boolean collector,
boolean hidden,
String description
) {
this.collector = collector;
this.granular = hidden;
this.description = description;
} // end ctor
public void setHide(boolean hidden) {
this.hide = hidden;
}
} // end enum
我的 CameraType 实例很少。
我有一个 "hidden" 属性的设置器,它在特定条件下设置为真或假。
现在我用 SecurityEntity 中的几个其他字段序列化 CameraType。
```
@Entity
@Table
public class Security {
Few more fields...
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private CameraType cameraType
And other fields...
}
```
当我反序列化“隐藏”字段的值时,总是假的。如果我理解正确,在反序列化过程中会调用 ctor 并分配默认值。
有没有办法在每个 CameraType 实例反序列化后保留“隐藏”字段的值(真或假)。
我正在使用 Postgres DB 10。
enter code here
请帮忙。我没有线索。
【问题讨论】:
-
你不能这样做,你不应该这样做,枚举是具有预定义实例的最终类,你不应该像上面那样改变它的属性。
标签: java jpa enums deserialization postgres-10