Java 指定不带表的字段
在jOOQ的主页上有一个很好的例子:Java 指定不带表的字段,java,jooq,Java,Jooq,在jOOQ的主页上有一个很好的例子: create.select(BOOK.TITLE) .from(BOOK) .where(BOOK.PUBLISHED_IN.eq(2011)) .orderBy(BOOK.TITLE) 有没有办法让它更简洁? 我在想这样的事情: create.select(TITLE) .from(BOOK) .where(PUBLISHED_IN.eq(2011)) .orderBy(TITLE) 代码生成器中有一个不推荐使用的功能,名为fa
create.select(BOOK.TITLE)
.from(BOOK)
.where(BOOK.PUBLISHED_IN.eq(2011))
.orderBy(BOOK.TITLE)
有没有办法让它更简洁?我在想这样的事情:
create.select(TITLE)
.from(BOOK)
.where(PUBLISHED_IN.eq(2011))
.orderBy(TITLE)
代码生成器中有一个不推荐使用的功能,名为
false
,可用于在生成的表中生成静态字段引用。这样,你想做的事情就有可能了
但是,生成静态字段有许多缺点,主要是您将无法再以类型安全的方式对表进行别名,例如:
Book b=Book.as(“b”);
创建。选择(b.标题)
.来自(b)
.其中(b.发表于eq(2011年))
.订购人(b.标题)
当然,您始终可以扩展开箱即用代码生成器,以生成对所有表中所有非歧义列引用的附加静态引用,但正如在SQL中一样,在向查询添加联接或附加列时,不符合条件的列将很快中断,如果以前的非模糊引用突然变得模糊。代码生成器中有一个不推荐使用的功能,名为
false
,可用于在生成的表中生成静态字段引用。这样,你想做的事情就有可能了
但是,生成静态字段有许多缺点,主要是您将无法再以类型安全的方式对表进行别名,例如:
Book b=Book.as(“b”);
创建。选择(b.标题)
.来自(b)
.其中(b.发表于eq(2011年))
.订购人(b.标题)
当然,您始终可以扩展开箱即用代码生成器,以生成对所有表中所有非歧义列引用的附加静态引用,但正如在SQL中一样,在向查询添加联接或附加列时,不符合条件的列将很快中断,如果以前不含糊的引用突然变得含糊不清