【发布时间】:2015-04-21 12:04:16
【问题描述】:
我正在学习休眠。我对 hbm2dll.auto update property 有点困惑。模型对象数据类型的改变不会改变mysql中表的数据类型。
首先,我使用 userId 作为数据类型 int 创建了 User Pojo。最初我将 hbm2dll 属性设置为 CREATE 。
@Entity(name="user")
public class User {
@Id
private int userid;
private String username;
....
}
首先,为了持久化数据,我创建了如下所示的用户对象并使用 sessionFactory 保存。
User user = new user();
user.setUserid(1);
user.setUsername("First User");
由于上述努力,在用户 ID 数据为 int 的位置创建了用户表。
但后来我把 pojo 的 userid 数据类型改成了 string 。
我还将 hbm2ddl 属性更改为 update 。
因此,在此更改之后,即使用户对象将字符串作为 userid ,表 userid 数据类型也不会更改为 varchar 。如何使用hibernate更改表的数据类型。
【问题讨论】: