Hibernate @Embeddable статический финал
У меня странное поведение. У меня есть объект, который использует @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 ... */
}
Проблема в том, что константы значений иногда меняются. Приложение может работать часами, но через некоторое время постоянный КЛИЕНТ имеет значение "БРАУЗЕР".
Я понятия не имею, что / кто меняет константу? Любая идея поможет! Спасибо!