@Entity
public class MyEntity {
@Column(length = 2)
private String name;
}
这会在db中创建character varying(2)
。当我将长度更改为更大的值(例如5)时,数据库不会更改。
hibernate是否有可能实际修改长度(至少扩展)?
答案 0 :(得分:0)
尝试hbm2ddl.auto = update,然后它应该更新表。但要小心这个功能。
答案 1 :(得分:0)
<强> hibernate.hbm2ddl.auto 强>
此功能取决于JDBC驱动程序提供的元数据的质量,JDBC驱动程序缺少许多驱动程序。
Hibernate文档也建议
SchemaUpdate工具将使用更新现有架构 “增量”变化。 SchemaUpdate依赖于JDBC元数据 API,因此不适用于所有JDBC驱动程序。
似乎是增量更新的驱动程序支持问题。另外,支持更新列的数据类型也没有意义。如果修改后的列数据类型是早期数据类型的缩小版本,现有数据会发生什么。