私は奇妙な振る舞いをしています。@Embeddables を使用して型情報 (TerminalType) を格納するエンティティがあります。この型は固定値のみを持つ必要があります。したがって、CLIENT、BROWSER、EXTRENAL などの定数を作成しました。
@Embeddable
@Audited
public class TerminalType extends DomainValue {
private static final long serialVersionUID = 1L;
public static final TerminalType CLIENT = new TerminalType("CLIENT");
public static final TerminalType BROWSER = new TerminalType("BROWSER");
public static final TerminalType EXTERNAL = new TerminalType("EXTERNAL");
protected TerminalType() {
}
protected TerminalType(String id) {
this.value = id;
}
@Column(name = "VALUE")
private String value;
/* only getter for the value ... */
}
このクラスはエンティティ端末で使用されます
@Entity
@Audited
public class Terminal {
private static final long serialVersionUID = 1L;
@Id
protected String terminalName;
@NotNull
@Embedded
@AttributeOverride(name = "value", column = @Column(name = "TERMINAL_TYPE"))
protected TerminalType type;
protected Terminal() {
}
/* setter and getter ... */
}
問題は、定数の値が時々変化することです。アプリケーションは何時間も実行できますが、しばらくすると定数 CLIENT の値が "BROWSER" になります。
何が/誰が定数を変更するのかわかりませんか? どんなアイデアでも役に立ちます!ありがとう!