java:如何将枚举值转换为字符串?

w6lpcovy  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(683)

假设我有一个枚举

public enum testEnum {
    A, B, C, D
}

我从一个sql数据库中得到了一个名为data的表,其中可以找到test\u a和prg\l的值。test_a的值应该是my enum(a,b,c,d)的值。但是如何将枚举保存到记录中以检查sql数据呢?

public void checkIfRecordIsUsed(String record, testEnum test) {
    List<String> data = new ArrayList<String>();
    Query dataQuery = entityManager.createNativeQuery("select * from DATA where test_a = 'A' and prg_l = ?1");
    dataQuery.setParameter(1, record);
    if (dataQuery.getResultStream().findAny().isPresent())
      tablesWithRecords.add("DATA");
  }
ilmyapht

ilmyapht1#

可以将枚举的值作为字符串插入:

public void checkIfRecordIsUsed(String record, testEnum test) {
        List<String> data = new ArrayList<String>();
        Query dataQuery = entityManager.createNativeQuery("select * from DATA where test_a = ?2 and prg_l = ?1");
        dataQuery.setParameter(1, record);
        dataQuery.setParameter(2, test.name());
        if (dataQuery.getResultStream().findAny().isPresent())
            tablesWithRecords.add("DATA");
    }

相关问题