问题标签 [jooq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1517 浏览

sql - 代码生成器将 NUMERIC(20,0) 解释为 BIGDECIMAL,而应将其解释为 Long

我有一个字段名称为“BID”的表,其数据类型设置为 NUMERIC(20,0)。现在我知道它永远不会是十进制/浮点值,但始终是整数/长整数,即自然数。

代码生成器有没有办法使生成的模型类中的变量为 Long,而不是它当前生成的 java.math.BigDecimal。可以在jooq.properties中设置吗??

0 投票
4 回答
27199 浏览

java - 比较 Querydsl、jOOQ、JEQUEL、activejdbc、iciql 和其他查询 DSL

有人可以指出一些关于可用于 Java 的不同 Query DSL 库之间性能比较的资源,例如:QuerydsljOOQJEQUELactivejdbciciql等...

背景:我正在使用 Spring JDBC 模板,但这仍然需要以纯字符串格式编写查询。虽然我在编写直接查询时没有问题,但我担心直接依赖于数据库表名。我不想使用任何 ORM 框架,如 Hibernate 或 JPA/EclipseLink。我需要尽可能高的原始性能(IMO,它们适用于更多以 CRUD 为中心的应用程序)。我可以为这些 DSL 提供一点点开销(我相信,它主要是 StringBuilder/String 连接!)

我考虑过在某些 xml 中使用外部化的命名查询。但只是试图评估不同 Query DSL 库提供的价值。

编辑:更多关于我的要求: 我想知道在使用他们的 API 方法构建一个中等复杂的查询时它们之间的性能比较。我只需要使用这些查询 DSL 库中的任何一个生成查询字符串,并将其传递给 Spring JDBC 模板。所以,我想知道添加这个中间步骤是否会导致相当大的性能损失,我想使用命名查询或构建我自己的库,它只使用 StingBuilder 或类似方法

更新我对 jOOQ、iciql、QueryDSL 的体验:

尽管我在原来的帖子中没有提到这一点,但我也热衷于易用性和我需要在我的实体类中拥有的开销(比如是否需要任何额外的注释或实现)。

约克:

  • 需要将实体属性更改为库特定的方式
  • 可以返回 SQL 查询字符串

爱奇艺:

  • 实体可以在没有或很少更改的情况下进行映射(可以使用总共 3 种方式进行映射)
  • 但它仅限于选择查询(对于更新/删除/...需要再次更改实体)

查询DSL:

  • 将实体与表绑定的多种方法(除了库特定的方法,支持使用 JPA 注释)。但我们至少需要修改实体
  • 没有简单/直接的方法来获取查询字符串

(所有观察结果我对这些知之甚少;如果其中任何一个不正确,请更正)

综上所述,我坚持编写命名查询:(但正如 Lukas Eder 的回答似乎解释了我最初关注的帖子(性能),我接受了他的。

0 投票
3 回答
12842 浏览

java - jOOQ 插入查询并返回生成的键

我将 jOOQ 安装到 Eclipse 中,为我的 mySQL 生成了类,但我仍然无法编写一些基本查询。

我试图通过返回生成的键来组合插入查询,但编译器抛出错误

表:tblCategory 列:category_id、parent_id、name、rem、uipos

还尝试了其他不同的方法如何正确地做到这一点?

谢谢魅力

0 投票
2 回答
5688 浏览

mysql - 如何在 jOOQ 的同一张表上编写 LEFT OUTER JOIN?

如何使用 jOOQ 编写以下 SQL?

数据库是 mySQL

0 投票
1 回答
3192 浏览

sql - jOOQ 复杂更新 - 如何锁定表?

这是嵌套集模型的“添加节点”SQL查询

以及映射到 jOOQ

我应该如何锁定桌子?我是不是该?

谢谢

0 投票
1 回答
3556 浏览

java - 我们如何分析 JOOQ 语句的速度

我已经使用 Union Platform 作为基于 java 的游戏服务器实现了 JOOQ,并使用 Union Platform 的 Orbiter Micro(Union JS Client)在浏览器上运行它。

但是,在游戏中只有 30-40 名活跃玩家的情况下,联盟平台在速度方面落后。

对于每个游戏实例(即每个房间),我配置了一个执行所有查询的工​​厂连接。它的作用是,

对于每个玩家的回合,

  • 播放器可以输入一个整数,在一系列(4 个查询)条件检查之后,它通过 JOOQ 插入/更新数据库
  • 然后为了取回整数的状态,它再次执行 3 个查询,这些查询有效地转换为 3 个链接哈希图以更新游戏状态。

现在,响应需要很长时间,以至于玩家看到了性能问题。而Union Platform实际上声称可以轻松处理1000多名活跃玩家。所以这实际上意味着我的 JOOQ 查询中有一些错误(我确实使用了很多 LEFT OUTER JOIN)。

因此,任何提高吞吐量和分析每个查询的建议都非常受欢迎。

0 投票
4 回答
1002 浏览

hibernate - 用于仅插入/仅查询应用程序的 ORM 框架

我已经使用 Hibernate 多年,从来没有遇到过问题,但我刚刚意识到我的大部分工作都涉及 CRUD 方法,我需要数据来保持持久化和随意修改。

这样做的问题是,有些人想要制作 2 个单独的应用程序,一个用于批量插入,另一个用于对插入的数据执行搜索。

由于在这种情况下持久化有点没用,团队不想使用 Hibernate,而是在插入应用程序上使用原始查询,也许在查询应用程序上使用类似jOOQ的东西。

这是正确的电话吗?或者我怎么能说服他们使用 Hibernate,而不是“它是我最喜欢的 orm 框架”?或者是否还有其他没有考虑到的解决方案?

0 投票
1 回答
8219 浏览

java - JOOQ insert into select syntax with specified columns

Can JOOQ do 'insert into select' syntax for specified columns? I run several different tries..

The Tables:

table1 (Expected insert)

table2

table3

JOOQ code:

JOOQ show error message:

Anyone know what problem I make and how I can fix my JOOQ code. thanks, Pay.

Reference: Example: INSERT SELECT syntax support

0 投票
1 回答
1098 浏览

java - jooq 返回值不正确的查询

我想使用以下基于 jooq 的代码插入数据库表数据以生成查询:

问题是当我使用此代码打印查询时

我得到的是带有问号而不是值的查询。

当我分别打印变量的值时,它们都是正确的。即使我在 .set() getSQL() 中手动插入字符串值也会返回问号。

0 投票
2 回答
1194 浏览

java - 如何在 M2E 中使用 Jooq 源代码生成?

我正在尝试将 Jooq 源代码生成配置为在 Eclipse 中与 Maven 一起使用(我使用 M2E),但是在遵循 Jooq 手册时遇到了问题。

这是我的 pom.xml 的相关部分:https ://gist.github.com/cfd8a0556dd441ab43ff

错误是:生命周期配置未涵盖插件执行:org.jooq:jooq-codegen-maven:2.0.5:generate (execution: default, phase: generate-sources)

它出现在上面的要点片段的第 12 行。我究竟做错了什么?