尝试在数据库级别使用规范来过滤数据。
我有一个实体,其中包含另一个实体作为实例,实例变量类包含一个Emun字段。
这将默认为枚举字段的字符串形式存储在数据库中。
我已经为这两个类创建了静态元模型。
如何使用枚举值作为字符串(而不是枚举实例)提供,创建一个用于匹配状态的谓词,并使用“where in”子句?
@Entity
public class Outer{
@OneToOne(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
@JoinColumn(name = "current_status")
private Status current;
@OneToOne(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
@JoinColumn(name = "past_status")
private Status past;
...
...
@Entity
public class Status{
@Enumerated(EnumType.STRING)
@Column(name = "state")
private State state;
@Id
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid",strategy = "uuid2")
@Column(name = "id")
private String id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "outer_id")
private Outer outer;
我已经为这两个类创建了静态元模型。
如何使用枚举值作为字符串(而不是枚举实例)提供,创建一个用于匹配状态的谓词,并使用“where in”子句?
State
和Strings
列表,对我们来说可能会更清楚。 - ujulu