Java实体插入DB更改列类型

Java Entity insertion DB change column type

我从 java 代码继承了一个名为 "RELEASE" 的持久性 class(javax.persistence 依赖项)

@Entity
@Table(name = "\"RELEASE\"")
@Converter(name = "booleanConverter", converterClass = BooleanConverter.class)
public class Release implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(updatable = false, unique = true, nullable = false, precision = 22)
    private Long id;

    @Convert("booleanConverter")
    @Column(nullable = false, length = 5)
    private Boolean active;

    @Column(nullable = false, length = 125)
    private String name;

    // uni-directional many-to-one association to Service
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "SERVICE_ID", nullable = false)
    private Service service;

与 getter 和 setter 关联,我必须更改 Id 列的类型(Long 到 String),因为现在我发出 API 请求并获得 json 格式响应 {key1: "response1, key2 : "response2" , ...} 与字符串。我得到的新类型的数字就像 "CHG0070132".

如何在不丢失旧数据的情况下更改类型?

您需要更改 2 个部分

  1. 数据库,您需要手动更改数据库中table的列类型Check here
  2. 将 getter Setter 和变量数据类型从 long 更改为 String