在Play中运行时更改表模式!骨架

时间:2011-04-18 15:50:42

标签: java playframework

在Play中运行时更改数据库表架构的最佳方法是什么?框架?我从客户端应用程序中获取了未指定数量的列,并且不能拥有域对象。

3 个答案:

答案 0 :(得分:0)

为什么不使用Apache DDLUtils?
Play中没有默认插入!但我在其他项目中使用它并且它非常有用 http://db.apache.org/ddlutils/

答案 1 :(得分:0)

另一种选择可能是使用无架构数据存储区ala mongodb。好像有一个mongo模块可以玩,http://www.playframework.org/modules/mongo

答案 2 :(得分:0)

我认为这正是您所寻找的

看看游戏snippets

http://www.playframework.org/community/snippets/13

public class Application extends Controller {

@Before
public static void setDBSchema() {
    String schema = "someSchema"; // This can come from a Cache, for example

    Play.configuration.setProperty("hibernate.default_schema", schema);

    JPA.entityManagerFactory = null;
    JPAPlugin plugin = new JPAPlugin();
    plugin.onApplicationStart();
}

...

您只需更改已配置的hibernate架构,然后强制重启JPAPlugin