我是hibernate的新手。我只是从hibernate tuto学到它。 我很高兴我不必为CRUD操作键入manualy类。 (我来自.NET方面)。我认为它就像.NET端的实体框架。
但我认为,当我更改数据库中的结构或数据类型时会发生什么? 当我忘记了一代又一张桌子后,又怎能再生呢?
在.NET世界中,我只需删除该表并在修改并重新生成解决方案后再次将其放入。
我如何在J2EE世界中做到这一点?
答案 0 :(得分:1)
你是对的。因此,ORM与实体框架大致相同。 如果要从实体生成或更改数据库结构,可以这样做:
在你的persistence.xml或hibernate.properties中添加行hibernate.hbm2ddl.auto
persistence.xml中的:
<property name="hibernate.hbm2ddl.auto" value="update"/>
您可以使用以下值之一:
创建仅强>
将生成数据库创建。
下拉强>
将生成数据库丢弃。
创建强>
将生成数据库删除,然后创建数据库。
创建降强>
删除架构并在SessionFactory启动时重新创建它。此外,在SessionFactory shutdown上删除架构。
<强>验证强>
验证数据库架构
<强>更新强>
更新数据库架构
您可以阅读有关设置Here
的更多信息强烈建议不要使用这种方式在生产环境中更改架构(但是,您可以让Hibernate在脚本中生成更改)