当前位置: 首页 > 知识库问答 >
问题:

数据库第一个ORM for Play框架(Java),自动生成数据库模型

琴修为
2023-03-14

几年来,我首先在C#、MVC、实体框架和数据库方面进行开发。现在我想试试Java,选择Play Framework和IDEA作为IDE。现在我搜索的ORM系统如下:

  • 易于集成在游戏框架中
  • 数据库类生成(逆向工程)为主要工具
  • 使用简单的语言,如C#中的LINQ(例如:在context.MY_表中从x选择x)

共有3个答案

徐晔
2023-03-14

我不知道IDEA是否支持DB-

http://www.eclipse.org/webtools/dali/

如果希望,Play2可以使用完整的JPA。Ebean只使用JPA注释。我喜欢EBean,因为即使我不完全相信JPA的标准API(我已经在JPA 2.0上完成了,所以不知道在JPA 2.1上有多容易)

对于任何对JPA感兴趣的人,我推荐这本书

http://www.amazon.com/Pro-JPA-2-Mike-Keith/dp/1430249269/

顺便说一句:JPA的命名查询/JPQL可能适合sql,比如简单的查询需求。Ebean不支持JPQL,所以如果想使用它,就需要像Hibernate或Eclipse Link这样的完整JPA实现。

孟沛
2023-03-14

Play有内置的ORM-它是Ebean,所有你需要使用它只是在application.conf中取消注释几行(并可选地选择其他数据库引擎,然后内置H2 ie。MySQL类似于这个问题中描述的)

接下来在app文件夹中创建models包,并开始添加您的模型。

更多细节见官方文件。

不幸的是,它不支持逆向工程。。。

顾正初
2023-03-14

我强烈建议使用jOOQ:

  • 支持只通过一个命令从控制台生成模型类:java-classpath jooq-3.1。0.5罐;jooq-meta-3.1。0.5罐;jooq-codegen-3.1。0.5罐;postgresql-9.2-1003。jdbc4。罐子组织。约克。util。生成工具/jooq_配置。xml

我一直喜欢SQL,我真的有机会使用许多ORM和许多技术(.NET:NHibernate,Entity Framework,Linq.Java:Hibernate,JPA.Scala:anrom SQL)工作,但我没有好的解决方案。我首先使用了模型数据库。每次我在应用程序的大多数关键点使用原始SQL和存储过程时。ORM会产生大量垃圾,很难进行分析和优化。

当我找到jOOQ时,我非常怀疑。经过大约6-8个月的工作,我知道就是这样。这个工具允许您编写类似于原始SQL的每个查询,这是一个非常高效的工具。接下来的事情是,这个工具真的增长很快。

 类似资料:
  • 问题内容: 是否有可用于Eclipse或Netbeans或任何其他IDE的插件,可以通过直接从数据库中读取模式来帮助我生成hbm.xml。 编写这些XML似乎是不必要的时间浪费,因此应该自动进行。 问题答案: 对于NetBeans,请参阅在Web应用程序中使用hibernate。 对于Eclipse,请使用Hibernate Tools 插件。这是一个演示如何使用其 逆向工程 功能的教程。

  • 问题内容: 我有一个带有id(guid)列的sql表。如何强制数据库为每条新记录自动生成新的Guid? 问题答案: 添加。

  • 是一个通用数据库处理框架(可以包含MSSQL POSTGRESQL,SQLITE EXCEL MYSQL DB2 ORACLE...只要你愿意实现接口就可以).很便捷地进行常用数据库操作(增删改查).其性能是几近纯ADO.NET.对于实体的查询采用emit实 现,如果您还不满意可用此框架的代码生成器直接生成纯ADO.NET SQL形式.其主要特色就是性能和便捷的操作.  

  • 我们正在改变数据库,从一个支持8位int的数据库到一个不支持8位int的数据库。当Liquibase创建一个DB导致jOOQ生成“短”变量时,我们的代码会中断,但我们的代码使用字节/字节-这会中断代码签名。 有人建议我们继续使用以前的数据库(HSQLDB)来生成代码,而不是重新编码,它“应该”与新数据库一起运行。有不同的意见,除了直觉,我找不到任何决定性的东西,这似乎与jOOQ的设计目的背道而驰。

  • 数据库是整个站点的数据储藏室。用户提交的数据可以存储在数据库中,以便未来使用。Play可以通过JDBC和数据库通信。我讲介绍Play和mysql数据库的连接。 Play 2.*版本的默认操作数据库的方式是通过Ebean。Play提供Finder这一帮助类型,可以实现一些简单的数据库查询。 数据库准备 在mysql中增加数据库testing。增加用户"player",密码为"player"。为用户p