Java 在维护类型时使用条件筛选JOOQ生成的表

Java 在维护类型时使用条件筛选JOOQ生成的表,java,sql,jooq,Java,Sql,Jooq,我已经从数据库中生成了许多JOOQ类。我想在维护表的强类型的同时,方便地按客户筛选表 这就是我希望能够做到的: // Generated class books JBooks books = JBooks.BOOKS; // get ownershipCheck (this could be more complicated, possibly joining multiple tables) Condition ownershipCheck = books.customer().ID.eq(

我已经从数据库中生成了许多JOOQ类。我想在维护表的强类型的同时,方便地按客户筛选表

这就是我希望能够做到的:

// Generated class books
JBooks books = JBooks.BOOKS;

// get ownershipCheck (this could be more complicated, possibly joining multiple tables)
Condition ownershipCheck = books.customer().ID.eq(currentCustomer);

// desired output that I can do further operations on
JBooks filteredBooks = selectFrom(books).where(ownershipCheck).asTable();


// a bunch of random operations using the functionality from JBooks
db.select(filteredBooks.AUTHOR, filteredBooks.PUBLISH_DATE, ...etc)


不幸的是,我不能这样做。我得到了一个
,我看不出有办法将我的新表转换到
JBooks

这是通过以下方式进行的:

  • “重写表。其中(条件)方法在生成的表中”
  • “添加对jOOQ中表达的视图的支持”
简言之,一个表可以接受一个谓词,结果是一个具有相同表类型的修改表,公开了相同类型的安全列表达式。在生成的SQL中,这可以生成派生表,也可以内联到调用SQL语句中

截至JOOQ3.11,这些功能还不可用