Учитывая гибернации Entity Foo
Hibernate Как критерии на поле Enum
@Entity
@Table(name = "foo")
class Foo {
//ID Field
@Column(name = "bar", nullable = false)
@Enumerated(EnumType.STRING)
private Bar bar;
//Getters, Setters
}
И в Enum Bar
enum Bar {
CAT,
CRADLE,
SILVER,
SPOON;
}
Я хотел бы выполнить запрос проверки, если значение foo.bar содержит некоторую строку matchString
= «АДЛ».
В настоящее время, мой объект DetachedCriteria построен как:
DetachedCriteria.forClass(Foo.class)
.add(Restrictions.like("bar", matchString, MatchMode.ANYWHERE));`
но вызывает java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Enum
при вызове.
Если вы используете 'enum', то это потому, что у вас есть определенный набор значений. Используйте 'enum' как' enum' не как принудительный 'String'. Используйте 'in' и значения, которые вам нужны. –
@BoristheSpider, прецедент предназначен для того, чтобы пользователь мог фильтровать список 'Foo', так как пользователь набирает элементы, которые фильтруются. – BenIntelliData
Что касается UI, значит, 'enum' должен быть выпадающим списком. –