【发布时间】:2022-11-07 07:29:30
【问题描述】:
我有一个父 JDBI 接口,我的 daos 继承自(如 JDBI's docs 所示):
@UseClasspathSqlLocator
public interface CrudDao<T, ID> {
@SqlUpdate
void insert(@BindBean T entity);
@SqlQuery
Optional<T> findById(ID id);
@SqlQuery
List<T> list();
@SqlUpdate
void update(@BindBean T entity);
@SqlUpdate
void deleteById(ID id);
}
上述技术要求我为我创建的每个 DAO 创建 insert.sql、update.sql、deleteById.sql、list.sql 和 findById.sql。由于后三个 sql 语句在所有 DAO 类中都是相同的(表名除外),是否可以只指定一次 sql 语句并让所有继承的 CrudDao 类都使用它们?
我想起了 Spring JPA 的 SpEL supports #{#entityName} 查询语法。
【问题讨论】:
标签: java jpa spring-data-jpa jdbi