gpt4 book ai didi

java - 在没有代码生成器的情况下在 postgreSQL 上使用 Jooq 和 jsonb_agg?

转载 作者:行者123 更新时间:2023-11-29 12:54:17 25 4
gpt4 key购买 nike

我想将 Jooq 与 jsonb_agg 一起使用,以创建我可以作为流读取的 jsonb 对象。有没有办法在不让 Jooq 查看数据库的情况下做到这一点?

我知道我可以让 Jooq 查看数据库并决定它找到了哪些聚合,但是有没有一种方法可以在不经过内省(introspection)过程的情况下使用它?我已经浏览文档 4 次了,但没有看到答案。

最佳答案

所以答案隐藏在 DSL 文档中,关于定义字段。

之前的所有示例都使用了以下变体:

create.select(field("example1"), field("example2")).from(table(a)...

但是您可以定义自己的字段甚至内联函数定义。

字段定义可以是这样的:

Field<Object> example1 = field("example1");

或者如果你想定义一个类型:

Field<String> example2 = field("example2", String.class);

当您想要定义更复杂的字段时,这一点变得很重要,例如:

Field<String> jsonAry = function("jsonb_agg", String.class, example2);

Jooq 真的很擅长让事情像这样组合。然后您可以:

Fiend<String> fullJson = function("jsonb_build_object", String.class, example1, example2);

然后如果你 groupBy(example1) 你得到一个很好的 jsonb_agg 对象。

关于java - 在没有代码生成器的情况下在 postgreSQL 上使用 Jooq 和 jsonb_agg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47185267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com