2013-04-10 88 views
0

我正在使用hibernate(4.2)和mysql(Amazon RDS)的产品。 只要进行了更改,模式就会通过liquibase进行更新。它还通过同一个数据库实例中的不同模式托管许多tanents。每次注册新客户时都会构建一个新的模式。两件事情应该发生:用休眠创建/更新数据库架构

1)创建模式

2)填充静态数据

目前,架构更新是Hibernate(就是hbm2ddl更新完成的架构)和静态数据的填充是由代码完成。我不喜欢这两种解决方案,因为我知道HBM是有限的,我不喜欢静态数据更改是代码相关。

有没有关于如何解决这个问题的建议?

+0

你为什么不通过liquibase添加数据? – sakhunzai 2014-01-21 06:42:16

回答

0

总是建议手动生成模式,最好通过支持数据库模式修订的工具(如伟大的Liquibase)来生成。从实体生成模式在理论上是伟大的,但在实践中很脆弱,从长远来看会导致很多问题(请相信我)。

Hibernate/JPA DB Schema Generation Best Practices

我可以将此链接粘贴的评论,但很可能这将是一个答案。

+0

添加静态数据怎么办? – rperez 2013-04-10 07:50:06

+0

您可以在手动创建模式后执行此操作:http://stackoverflow.com/questions/15893156/best-way-to-save-the-large-number-of-records-in-hibernate/15893676#15893676 – 2013-04-10 07:58:40