当前位置: 首页 > 知识库问答 >
问题:

存在Hibernate问题的PostgresSQL和JavaSpringBoot AP之间的链接枚举

拓拔霄
2023-03-14

如何解决这个问题?

我的代码

流星实体

//package and imports

@Entity
@TypeDef(
        name = "pgsql_enum",
        typeClass = PostgreSQLEnumType.class
)
public class Meteo {
    private Integer id;

    @Enumerated(EnumType.STRING)
    @Column(columnDefinition = "weatherenum")
    @Type( type = "pgsql_enum" )
    private WeatherEnum weather;
    ...

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Integer getId() { return id; }

    public void setId(Integer id) { this.id = id; }

    @Basic
    @Column(name = "weather")
    public WeatherEnum getWeather() { return weather; }

    public void setWeather(WeatherEnum weather) {
        this.weather = weather;
    }

   .
   .
   .

}
public class PostgreSQLEnumType extends org.hibernate.type.EnumType {

    public void nullSafeSet(
            PreparedStatement st,
            Object value,
            int index,
            SharedSessionContractImplementor session)
            throws HibernateException, SQLException {
        if(value == null) {
            st.setNull( index, Types.OTHER );
        }
        else {
            st.setObject(
                    index,
                    value.toString(),
                    Types.OTHER
            );
        }
    }
}
public enum WeatherEnum {
    sunny, cloudy, stormy, rainy;
}
CREATE TYPE WeatherEnum AS ENUM ('sunny','rainy','cloudy','stormy');

共有1个答案

陈野
2023-03-14

我准备了一个复制品。https://github.com/ozkanpakdil/spring-examples/tree/master/postgresql-test一个简单的示例来展示它是如何工作的。您可以从http://localhost:8080/swagger-ui.html访问swagger。swagger看起来在SB2.2中有问题

下面是示例帖子

curl -X POST "http://localhost:8080/api/v1/meteo" -H  "accept: */*" -H  "Content-Type: application/json" -d "{  \"weather\": \"rainy\"}"

这就是你如何

curl -X GET "http://localhost:8080/api/v1/meteo" -H  "accept: application/json"
 类似资料:
  • 本文向大家介绍Hibernate和Eclipse链接之间的区别,包括了Hibernate和Eclipse链接之间的区别的使用技巧和注意事项,需要的朋友参考一下 Hibernate和Eclipse链接都是对象关系映射工具。它们都是JPA的实现。 Hibernate是Red hat构建的非常流行的JPA实现。它还具有JPA不提供的一些额外功能。 Eclipse是Eclipse基础构建的JPA的开源实现

  • Spring 3.x、JPA 2.0、Hibernate 4.x、Postgresql 9.x. 使用希望映射到Postgresql枚举的枚举属性处理Hibernate映射类。 使用枚举列上的where子句进行查询会引发异常。 SQL: Hibernate xml查询: > 按而不是按枚举查询工作正常。 没有数据库交互的Java工作良好: 不是,与和相同,异常更改为: 在查看https://sta

  • 我正在制作一个由两部分组成的面板: > 一个列表:包含我所有的小部件,我希望每个小部件都可以拖动和排序。 一个区域:包含一个我想把我的小部件放在上面的图像(稍后保存它们的位置):所以我需要我的小部件是可拖放的。 我试图用JQuery UI做这种行为。最重要的是,我希望能够将我的小部件从列表拖到该区域,如果我愿意,可以将它们拖回列表。 编辑:https://jsfiddle.net/Tenmak/j

  • 问题内容: Enumeration <有区别吗?扩展ZipEntry>和Enumeration ?如果是这样,有什么区别? 问题答案: 拥有其中一种后,您在做什么上没有实际差异,因为type参数仅在“输出”位置使用。另一方面,在您可以 用作 其中一个的方面有很大的不同。 假设您有一个-您无法将其传递给作为其参数之一的方法。您 可以 将其传递给采用方法。 当您有一个在输入和输出位置都使用type参数

  • 问题内容: 枚举具有获取枚举常量的方法,并且在具有 我发现的名称的类中存在的相同类型的方法都给出相同的输出。那还有什么其他区别。如果没有区别,那么为什么要添加JSL ? 问题答案: 包括该方法的原因是它可以与任何方法一起使用。相比之下, 用于特定方法的方法仅适用于该特定方法…,因为类不能被多态使用。 显然,该方法仅在您实现 需要 针对多种类型使用的代码的情况下才真正有用……而泛型则不会削减它。

  • 我目前正在用Javascript编写代码,我是一名新手,我需要代码方面的帮助。我想创建一个包含节点(显然)的树,它指向一个链表,这个列表将包含节点子节点。在链表之外,我唯一需要的节点是我的根节点。 无论如何,我的问题是在我父亲节点的链接列表中添加一个节点。示例: 根- 当我试图在链表中添加一个节点时,我的第一个节点被覆盖。 代码: 打印我的给我: