【发布时间】:2019-09-08 12:45:57
【问题描述】:
在我们的“进程”表中有一个“类型”列。该列的值集在我们代码的枚举中定义。但是,此表中有过时的行。这意味着有些行的“类型”是代码枚举中不存在的值。问题是每当我们访问此表中的任何行(不是过时的行)时,我们都会收到一个错误,即该列存在未知值。有没有办法在休眠中禁用此功能,因为我们不想删除这些行。
@EqualsAndHashCode(callSuper = true, of = {})
@Table(name = ProcessEntity.TABLE_NAME)
public class ProcessEntity extends BaseEntity implements ValidityHolder {
public static final String TABLE_NAME = "PROCESS";
@OneToMany(mappedBy = "consent", cascade = CascadeType.ALL)
private Set<ConsentAnswerEntity> consentAnswers;
@OneToMany(mappedBy = "consent", cascade = CascadeType.ALL)
private List<ProcessConsentEntity> processConsents;
@OneToMany(mappedBy = "consent", cascade = CascadeType.ALL)
private Set<ProcessTypeConsentEntity> processTypeConsents;
@Enumerated(EnumType.STRING)
@Column(name = "TYPE_ID")
private Type TpyeId;
【问题讨论】:
-
该列是如何注释的,该列在表中究竟是如何设置的?
-
@Enumerated(EnumType.STRING) @Column(name = "TYPE_ID") 私有类型类型;这就是它在我们的“进程”表中的声明方式
-
那只是实体,不是实际的表
-
我更新了帖子。
-
还是缺表
标签: java oracle hibernate jakarta-ee