java - 将 Java 类型映射到数据库类型
问题描述
我想从我的 Java 代码中手动设置列的类型(尚未创建表)。String
应该是text
数据库中的类型,并且LocalDate
应该是date
类型。没有映射的 AfaikString
将被映射为VARCHAR
类型。
实体:
@Entity
@Table(schema = "subscribers_service", name = "subscribers")
public class Subscriber {
@Id
@Column(name = "email")
private String email;
@Column(name = "subscription_date")
private LocalDate dateOfSubscription;
}
所以我想要这样:
@Id
@Column(name = "email")
@DatabaseType(name = "text")
private String email;
我正在使用 PotsgreSQL。是否可以?或者我应该手动创建具有所需列类型的数据库?
解决方案
您可以使用注释通过 Java 代码设置数据库列类型@Column
您所要做的就是添加columnDefinition
到注释中
例子
@Column(name = "email", columnDefinition = "text")
和
@Column(name = "subscription_date", columnDefinition = "date")
希望这会有所帮助。
推荐阅读
- r - 如何获得从 R 中的回归分析生成的四个图?
- field - 在 Odoo 的表单视图中设置为当前日期时间的字段的默认值
- html - CSS @media 查询未按预期工作
- mysql - 如何将带有虚线的sql查询响应存储到文本文件中?
- material-ui - 我应该如何自定义按钮颜色?
- keras - '运行时死了。自动重启。在运行具有大量数据的 Keras 模型时
- python - 在 Python 中以毫秒频率生成时间戳
- c++ - 在单个链表中搜索特定值
- css - 右边的空白,无法弄清楚是什么原因造成的
- vert.x - 像 Spring boot 一样,我可以在 vertx 中切换到不同的 http 服务器吗?