【发布时间】:2014-09-13 07:30:22
【问题描述】:
我使用 Spring 和 JDBC 模板来管理数据库访问,但使用 JOOQ 构建实际的 SQL 查询。例如,一个 DAO 可能如下所示:
public List<DrupalTaxonomyLocationTerm> getLocations(String value, String language) throws DataAccessException {
DSLContext ctx = DSL.using(getJdbcTemplate().getDataSource(), SQLDialect.MYSQL);
SelectQuery q = ctx.selectQuery();
q.addSelect(field("entity_id").as("id"),);
q.addFrom(table("entity").as("e"));
[...]
}
从上面可以看出,我正在使用 JOOQ 构建和执行查询。 Spring 是否仍然负责关闭我从 JOOQ 返回的 ResultSet,还是在我直接访问数据源并将数据源传递给 JOOQ 时以某种方式“绕过”Spring?
【问题讨论】:
-
当您直接使用
DataSource时,spring 不会为您做任何事情。也许 JOOQ 正在为你做点什么,但 spring 肯定什么也没做。
标签: java spring datasource jdbctemplate jooq