java - Java实体插入数据库更改列类型
问题描述
我从具有名为“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 to String),因为现在我发出 API 请求并获得{key1: "response1, key2 : "response2" , ...}
带有字符串的 json 格式响应。我得到的新型号码就像“CHG0070132”。
如何在不丢失旧数据的情况下更改类型?
解决方案
您需要更改 2 个部分
- 数据库,您需要手动更改数据库中表的列类型检查这里
- 将 getter Setter 和变量数据类型从 long 更改为 String
推荐阅读
- typescript - 在 TypeScript 中,如何从整数中获取日期?
- firebase - IOS ionic 4 中的 FCM 通知
- dart - Dart - 获取流的最后一个或第一个值
- css - css env() 没有“viewport-fit=cover”
- python - GoogleImageCrawler 错误 - 下载器 - 响应状态代码 404
- c# - 我们如何在将 url 存储到 C# 中的数据库之前对其进行验证?
- angular - 无法在 Angular 12 上导入“@angular/core/src/metadata/ng_module”
- spring - Spring @Transactional 挂起功能
- mongodb - MongoDb C# Client: Aggregation by date (range)
- apache - Apache proxy pass is redirecting instead of acting like a real proxy