我有一些hibernate的问题。当我将age
列添加到Client.xml
的文件映射中时,hibernate更新我的表client
并添加列,但是当从{{删除同一列age
时1}}和Client.xml
,我运行我的应用程序,我发现该列仍在我的表client.java
中。
任何人都可以知道为什么hibernate无法从表client
中删除列age
谢谢^ _ ^
答案 0 :(得分:0)
Hibernate遵循两种方法 1.架构优先 2.代码第一
在Schema中,第一个Java实体是根据您的数据库设计创建的,在Code中,第一个方法数据库是使用@Entity注释的所有Java实体创建的。
在您的情况下,您遵循Code第一种方法,当您在java实体中添加任何新列时,如果hibernate.hbm2ddl.auto
为update
,hibernate将代表您创建列。如果你的数据库包含更多的表,那么hibernate没有问题,这就是为什么如果你从Java实体中删除它,hibernate不会删除任何列。