枚举,
public enum CountEnum {
ONE,
TWO
}
Run Code Online (Sandbox Code Playgroud)
实体类,
@Entity
public class Test {
...
@Enumerated(EnumType.ORDINAL)
private CountEnum countEnum;
...
}
Run Code Online (Sandbox Code Playgroud)
我想查询所有Test具有 countEnum 的行 'ONE'。但由于这里@Enumerated(EnumType.ORDINAL)是序数,我必须输入 int 值'ONE'而@Query不是 String。
我的存储库界面,
public interface ResourceRepository extends JpaRepository<Test, String> {
@Query(" select test from Test test where test.countEnum = " + CountEnum.ONE.ordinal())
List<Test> find();
}
Run Code Online (Sandbox Code Playgroud)
但它会抛出一个错误说 Attribute value must be constant. 那么,由于我不想放置硬编码的常量值,因此如何使用枚举的序数值查询所有这些行?