对于一组scala类,是否有直接的方法来生成rdbms ddl?
即。为每个类派生一个表ddl(其中每个case类字段将转换为表的字段,具有相应的rdbms类型)。
或者,直接在rdbms中创建数据库对象。
我找到了关于Ebean being embedded in Play framework的一些文档,但不确定启用Ebean的副作用是什么,以及Ebean需要多少驯服来避免其中任何一个。我以前从未使用过Ebean ......
我实际上宁愿使用Play以外的东西,但如果在Play中很容易实现,我会非常想知道一种干净的方式。提前谢谢!
答案 0 :(得分:1)
是否有一种直接的方法来生成rdbms ddl,用于一组 斯卡拉课程?
是
<强> Ebean 强>
Ebean是一个由play提供的默认orm你只需要创建实体并启用evolution(默认设置为启用)。它将在conf / evolution / default目录中创建一个(点)sql文件,当你点击{ {3}}它会显示你应用脚本。但你的标签说你正在使用scala,所以你不能真正使用Scala的EBean。如果你这样做,你将不得不 牺牲Scala类的不变性,并使用Java 集合API而不是Scala。 以这种方式使用Scala会比直接使用Java带来更多麻烦。 localhost:9000
<强> JPA 强>
JPA(使用Hibernate作为实现)是在标准Play Java应用程序中访问和管理SQL数据库的默认方式。仍然可以使用Play Scala应用程序中的JPA,但可能不是最好的方式,它应该被视为遗留和弃用。Source
Anorm (如果你想写ddl)
Anorm不是对象关系映射器,因此您必须手动编写ddl。 Source
<强>油滑强>
scala的函数关系映射。Source
启用强>
Activate是一个在Scala中保留对象的框架。Source
<强>紧身强>