【问题标题】:Mapping postgres enum to java string将 postgres 枚举映射到 java 字符串
【发布时间】:2018-10-30 17:38:47
【问题描述】:

我是 Spring boot 和 Postgres 的新手,想知道如何从 Postgres 枚举映射到 Java 字符串。例如,假设我在 Postgres 中有以下类型:

CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');

我的 java 代码中有以下内容:

@Entity
@Table(name = "information")
public class Information {

   @NotNull
   private String mood;
}

我已经看到有关如何从 Postgres 枚举映射到 Java 枚举的东西,但是我找不到任何关于从 Postgres 枚举到 Java 字符串的映射。我有什么特别需要做的吗?

编辑:我需要根据其他要求将类型保留为 Java 中的字符串。我确实想在 Java 中创建一个枚举

【问题讨论】:

  • 你的例子有什么问题?你试过了吗?
  • 是的,我得到以下信息:“org.springframework.dao.InvalidDataAccessResourceUsageException:无法提取 ResultSet;SQL [n/a];嵌套异常是 org.hibernate.exception.SQLGrammarException:无法提取结果集”

标签: java postgresql jpa enums


【解决方案1】:

在java中你可以创建一个枚举:

 public enum Mod {

  SAD("sad"),OK("ok"),HAPPY("happy");
  private String desc;
  public Mod(String desc) }
    this.desc = desc; }
  @Override public String toString() {
  return desc;}
 }

可以通过调用获取String

 Mod.OK.toString()   

【讨论】:

  • 我需要根据其他要求将类型保留为java中的字符串(我对我的原始帖子进行了编辑)
猜你喜欢
  • 2021-11-09
  • 2019-01-29
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多