入门:从Hibernate迁移到JOOQ(?)

时间:2015-09-20 11:55:07

标签: java hibernate jooq

我正在考虑在开始时打破我与Hibernate的关系,所以没有人受伤并因各种原因切换到JOOQ [1],[2],[3]等。人。

但首先,我想了解一些基本的事情,例如:如何在Hibernate中对String这样的模式约束:

@NotEmpty(message = "Firstname cannot be empty")
@Pattern(regexp = "^[a-zA-Z0-9_]*$", message = "First Name can only contain characters.")
private String firstname;

或者如果我想要在我的后端use joda-time举例,那么修改JOOQ代码生成器是一件很大的痛苦或者说是直接的。

缓存是什么?我知道JOOQ does have support例如重用语句,但不幸的是我不知道我是否必须寻找能够为我做更复杂的缓存的第三方库,或者JOOQ是否已经能够为我做这一切。

也许有人可以告诉我如何开始使用更大的应用程序。至于现在我的工作流程看起来像这样:

  1. 手动在MySQL中编写我的数据库
  2. 使用FlywayDB进行迁移版本控制并将数据库部署到Tomcat
  3. 使用JOOQ对数据库进行反向工程以生成Java文件
    • 这是我的代码生成器扩展名将在哪里将JDBC时间戳转换为joda-time DateTime,我将从上面生成@Pattern(..)之类的约束?
  4. 实施DAO图层
  5. 实施存储库层
  6. 实施服务层
  7. ...
  8. 这是否有意义或我在这里遗漏了什么?我问,因为直到现在我才是其中之一" 我不想写SQL因为我不想知道任何有关底层机制的知识&#34 ;让Hibernate为我创建我的整个数据库。但在阅读了Hibernate带来的许多主要缺点和问题之后,我(几乎)确信以上述方式做到这一点会更好。

    我正在考虑首先使用JOOQ的开源版本,直到 - 希望有一天 - 钱回来让我去获得JOOQ的开发者许可证。

    话虽如此,我仍然愿意接受替代方案并准备使用Hibernate JOOQ,如果替代方案可以支持我的需求,基本上是

    • 如果需要可以优化
    • 类型安全
    • 可确认性(Hibernate几乎不提供afaics)
    • 以后不会依赖可能的迁移过程
    • 可伸缩性

    [1] https://vimeo.com/28885655
    [2] https://itroman.wordpress.com/2010/12/05/why-i-do-hate-hibernate/
    [3] http://www.sickenger.com/2013/02/hibernate-just-stop-it/

0 个答案:

没有答案