【发布时间】:2019-04-11 10:00:45
【问题描述】:
当我们将 hbm2ddl.auto 与任何 POJO 类一起使用时,hibernate 使用什么规则来确定列字段的数据类型和长度?
如何为每列提供自定义数据类型和长度?
【问题讨论】:
标签: hibernate
当我们将 hbm2ddl.auto 与任何 POJO 类一起使用时,hibernate 使用什么规则来确定列字段的数据类型和长度?
如何为每列提供自定义数据类型和长度?
【问题讨论】:
标签: hibernate
您可以使用@length 和@type 注释来自定义列的长度和数据类型。
@Type(type="text")
private String payable_amount;
这里的返回类型是String,存储在数据库中的值将是varChar格式。
@Type(type="org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTime")
这是 PersistentLocalDateTime 中 LocalDateTime 表单的示例 如果我们使用自定义类对象作为类型,则必须在 @type 注释中提及完整的类路径。
类似的长度可以添加到列中。通过使用它,我们可以使用最大或最小列长度。长度注解只能用于字符串。
@Column(name = "NAME",length = 50)
@Length(max = 50)
public String getName() {
return this.name;
}
【讨论】: