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 个部分
- 数据库,您需要手动更改数据库中table的列类型Check here
- 将 getter Setter 和变量数据类型从 long 更改为 String
我从 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 个部分
- 数据库,您需要手动更改数据库中table的列类型Check here
- 将 getter Setter 和变量数据类型从 long 更改为 String