从scala类创建rdbms DDL

时间:2015-02-13 19:33:54

标签: scala orm playframework

对于一组scala类,是否有直接的方法来生成rdbms ddl?

即。为每个类派生一个表ddl(其中每个case类字段将转换为表的字段,具有相应的rdbms类型)。

或者,直接在rdbms中创建数据库对象。

我找到了关于Ebean being embedded in Play framework一些文档,但不确定启用Ebean的副作用是什么,以及Ebean需要多少驯服来避免其中任何一个。我以前从未使用过Ebean ......

我实际上宁愿使用Play以外的东西,但如果在Play中很容易实现,我会非常想知道一种干净的方式。提前谢谢!

1 个答案:

答案 0 :(得分:1)

  

是否有一种直接的方法来生成rdbms ddl,用于一组   斯卡拉课程?

  1. <强> Ebean

    Ebean是一个由play提供的默认orm你只需要创建实体并启用evolution(默认设置为启用)。它将在conf / evolution / default目录中创建一个(点)sql文件,当你点击{ {3}}它会显示你应用脚本。但你的标签说你正在使用scala,所以你不能真正使用Scala的EBean。如果你这样做,你将不得不 牺牲Scala类的不变性,并使用Java 集合API而不是Scala。 以这种方式使用Scala会比直接使用Java带来更多麻烦。 localhost:9000

  2. <强> JPA

    JPA(使用Hibernate作为实现)是在标准Play Java应用程序中访问和管理SQL数据库的默认方式。仍然可以使用Play Scala应用程序中的JPA,但可能不是最好的方式,它应该被视为遗留和弃用。Source

  3. Anorm (如果你想写ddl)

    Anorm不是对象关系映射器,因此您必须手动编写ddl。 Source

  4. <强>油滑

    scala的函数关系映射。Source

  5. 启用

    Activate是一个在Scala中保留对象的框架。Source

  6. <强>紧身

    它基于ScalikeJDBC库构建,它是一个瘦而强大的JDBC包装器。SourceDetails1

    同时检查Details2RDBMS with scala