JOOQ:Returning 多个用户定义的对象
JOOQ:Returning Multiple User Defined Objects
是否可以使用Jooq获取多个用户定义的对象。例如,我可以做这样的事情吗?
Factory create = new Factory(connection, SQLDialect.MYSQL);
create.select(AUTHOR,BOOK).from(BOOK).
JOIN(AUTHOR).ON(AUTHOR.AUTHOR_ID.equal(BOOK.AUTHOR_ID)).fetch();
正如我们所做的那样,
create.select(AUTHOR.AUTHOR_ID,BOOK.BOOK_ID,BOOK.BOOK_NAME).from(BOOK).
JOIN(AUTHOR).ON(AUTHOR.AUTHOR_ID.equal(BOOK.AUTHOR_ID)).fetch();
错误信息:
Error:(52, 16) java: no suitable method found for select(...)
AUTHOR、BOOK 是数据库中的表,JOOQ 自动代码生成器已用于为它们生成 类。
任何建议表示赞赏:)
您可以为此使用 Result.into(Table)
:
Result<Record> result =
create.select()
.from(BOOK)
.join(AUTHOR).
.on(AUTHOR.AUTHOR_ID.equal(BOOK.AUTHOR_ID))
.fetch();
BookRecord book = result.into(BOOK);
AuthorRecord author = result.into(AUTHOR);
是否可以使用Jooq获取多个用户定义的对象。例如,我可以做这样的事情吗?
Factory create = new Factory(connection, SQLDialect.MYSQL);
create.select(AUTHOR,BOOK).from(BOOK).
JOIN(AUTHOR).ON(AUTHOR.AUTHOR_ID.equal(BOOK.AUTHOR_ID)).fetch();
正如我们所做的那样,
create.select(AUTHOR.AUTHOR_ID,BOOK.BOOK_ID,BOOK.BOOK_NAME).from(BOOK).
JOIN(AUTHOR).ON(AUTHOR.AUTHOR_ID.equal(BOOK.AUTHOR_ID)).fetch();
错误信息:
Error:(52, 16) java: no suitable method found for select(...)
AUTHOR、BOOK 是数据库中的表,JOOQ 自动代码生成器已用于为它们生成 类。
任何建议表示赞赏:)
您可以为此使用 Result.into(Table)
:
Result<Record> result =
create.select()
.from(BOOK)
.join(AUTHOR).
.on(AUTHOR.AUTHOR_ID.equal(BOOK.AUTHOR_ID))
.fetch();
BookRecord book = result.into(BOOK);
AuthorRecord author = result.into(AUTHOR);