我试图仅将 jooq 用作 SQL 生成器,但我似乎无法将架构信息添加到我的查询中:
private String getOtmUserReportSql() {
Settings settings = new Settings().withRenderMapping(
new RenderMapping().withDefaultSchema(Constants.REP));
DSLContext create = DSL.using((Connection) null,SQLDialect.ORACLE,settings);
String sql =
create.
select(
DSL.fieldByName("User Id").as("User_ID"),
DSL.fieldByName("User_Name").as("Full_Name"),
DSL.fieldByName("Active Status").as("Active_Status"),
DSL.fieldByName("Email").as("Email"),
DSL.fieldByName("Last Login Time").as("Last_Login_Time"),
DSL.fieldByName("Role").as("Role6"),
DSL.fieldByName("ID_ROLE").as("Role_Id"),
.from(DSL.tableByName(REP)).getSQL();
LOGGER.info("Generated SQL : {}",sql);
return sql;
}
生成的 SQL 是:2013-08-12 17:52:12,008 [INFO] [main] cjixciSimpleJDBCReportService[67]:生成的 SQL:选择“User Id”“User_ID”,“User_Name”“Full_Name”,“Active Status” Active_Status”、“Email”、“Email”、“上次登录时间”、“Last_Login_Time”、“Role”、“Role6”、“ID_ROLE”“Role_Id”、“业务组”“Business_Group”、“菜单模板”“Menu_Template”来自“代表"
根据http://www.jooq.org/doc/2.5/manual-single-page/#runtime-schema-mapping上的文档,我应该看到类似:MySchema."User Id" ... MySchema.REP
我正在使用 3.1 版,非常感谢任何帮助
谢谢,