(JPA/Hibernate を使用して) enum 型のエンティティを格納、取得、クエリできます。enum フィールドには、@Enumerated(EnumType.STRING) の注釈が付けられます。
のようなことは可能"SELECT a FROM MyEntity a WHERE a.myEnum LIKE :param"
ですか?
アイデアは、列挙値文字列 (DB 内) が「SYSTEM_%」や「BUSINESS_%」などのパターンに一致する任意のエンティティに一致させることです。
助けてくれてありがとう。
- - アップデート:
これでクエリを実行しようとしたとき:
`@Query("SELECT e FROM MyEntity e WHERE e.myEnum LIKE :value")`
値を使用して (何でも一致することを示すために...):
%%
私はこの例外を受け取ります:
Caused by: java.lang.IllegalArgumentException: Parameter value [%%] did not match expected type [mypackage.MyEntity$MyEnum]
at org.hibernate.ejb.AbstractQueryImpl.validateParameterBinding(AbstractQueryImpl.java:370)
at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:343)
at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:374)
at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:71)