开发一个全新的架构/应用程序,它使用hibernate从pojo创建表。
我希望现在将现有数据从遗留数据库迁移到新模式,这是创建适当的SQL并填充我的新pojo的问题。
其次,这个应用程序将被其他人使用,从不同的数据库模式迁移。我最初的想法是将相关的sql放入xml文件中,以便在不改变java的情况下轻松更改它们。
例如,我当前的系统会select loginname from logintable
进入pojo:User.setUsername()
,然后进行休眠保存。然后我可以稍后更改sql,确保它返回正确的数据。
这听起来合情合理吗?他们现有的hibernate功能是否可以进行迁移/批量插入?或者我只是简单地调用 n 次:
User user = new User();
session.save(user);
答案 0 :(得分:2)
这里几乎没有想到。
schema/app which uses hibernate to create tables from pojo's.
使用hibernate生成表不是一个好习惯。应该为此创建单独的脚本。基本上,hibernate中的hbm2ddl.auto=create
设置是创建表的临时方法,但是您不应该在标准应用程序中使用它。在配置设置中输入此条目甚至是不安全的。阅读here了解更多信息。
Schema migration/ data migration
有很多可用的数据库可以帮助你迁移僵尸程序架构,数据和休眠并不是真正意义上的。我不知道那些,但我看到了我的数据库管理员轻松完成。你可以用一些技巧来实现它,但最好不要这样做。