当hibernate.hbm2ddl.auto设置为create时,如何在必要时为postgresql执行hibernate来执行CREATE DATABASE

时间:2011-06-05 20:17:32

标签: hibernate postgresql hbm2ddl

我正在使用spring-roogwthibernate来建立网站。我们正在使用内存数据库HyperSonic,但我正在尝试切换到postgres

如果我使用jdbc3 driver,一切正常。唯一的问题是我必须在hibernate之外单独执行CREATE DATABASE语句,然后才能通过[hibernate.hbm2ddl.auto](http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html#configuration-optional)创建表来创建表。我可以设置另一个选项让hibernate在必要时执行CREATE DATABASE吗?

1 个答案:

答案 0 :(得分:2)

不是真的。您必须使用模板数据库(通常为CREATE DATABASE)执行template1。正常的事件顺序是:

  1. 连接到template1数据库
  2. 执行CREATE DATABASE newdb;
  3. 重新连接到newdb;
  4. 开始发布DDL声明。
  5. 如果您对更多信息感兴趣,请查看PostgreSQL如何完成CREATE DATABASE的具体细节,您将理解为什么。