在游戏中做进化的正确方法

时间:2013-05-29 18:07:15

标签: hibernate postgresql jpa playframework-1.x playframework-evolutions

我目前正在开发一款播放应用,作为我正在开发的移动应用的后端API。

到现在为止,我已将jpa.ddl设置为更新,一切正常。当我向我的某个模型添加一个新字段时,它会为我更改数据库。

然而,我正准备进行制作,我已阅读的所有内容,包括play documentation说要关闭该功能,而是使用演进。但是,当我编写1.sql文件时,我遇到了几个问题:

  • 我将数组作为模型的一部分,我不确定它们是如何在数据库中表示的
  • 模型的某些部分是其他模型的实例,我不确定如何在数据库中表示对象

到目前为止,我不必担心数据库是如何构建的,因为Play / JPA / Hibernate提供了一定程度的抽象。但是现在看来我需要自己手动创建表,我找不到任何正确的方法来执行此操作。

我是否需要手动编写SQL来为我的模型创建表格,如果是,我该如何在数据库中表示这些表格?

编辑:我正在使用play 1.2.4

1 个答案:

答案 0 :(得分:3)

是的,要进行进化,你必须知道如何将对象转换为表。这也有助于您了解JPA的工作原理。

为此,您可以查看数据库以查看自动ddl更新如何创建数据库。网上也有一些文件。例如:http://en.wikibooks.org/wiki/Java_Persistence。第4章包含解释这一点的图表。