Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

JOOQ类生成(Code generation from entities)

$
0
0

背景

由于querydsl近两年没有更新,使用JOOQ去做动态sql查询。JOOQ 是基于Java访问关系型数据库的工具包,轻量、简单、安全并且足够灵活,可以轻松的使用Java面向对象语法来实现各种复杂的sql。和querydsl一样,JOOQ也需要生成一堆文件。
生成JOOQ类有通过连接数据库、flyway、entity等方式。企业级应用无法写死数据库地址账号密码在pom文件中,flyway过于死板不利于更新(flyway文件变更需要更改数据中checksum,并且需要和数据库严格一致),所以通过entity去生成JOOQ类。

但是通过官方文档生成有以下缺点:

1.需要在entity上指定表名,通过 @Table(name = “author”),如不指定表名为大写;

2.需要在字段上指定字段名,通过@Column(name = “last_name”),如不指定生成的字段不仅是大写,而且不是下滑线(underline)形式;

3.不能使用@Column(columnDefinition = “”);

4.库名需要指定

总之与jpa生成的table不符合,所以需要改写插件和代码生成。


Viewing all articles
Browse latest Browse all 1638

Trending Articles