我从带有名为“RELEASE”的持久类(javax.persistence 依赖项)的 java 代码继承
@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”。
如何更改类型而不丢失旧数据?
最佳答案
您需要分两部分进行更改
- DB,您需要手动更改DB中表的列类型Check here
- 将 getter、Setter 和变量数据类型从 long 更改为 String
关于Java实体插入DB更改列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485029/