package ltd.qubit.survey.service; import java.util.List; import java.util.Optional; import org.springframework.transaction.annotation.Transactional; /** * 基础Service接口,定义通用的CRUD操作 * * @param 实体类型 * @param 主键类型 */ @Transactional(readOnly = true) public interface BaseService { /** * 新增 * * @param entity 实体对象 * @return 实体对象 */ @Transactional T create(T entity); /** * 删除 * * @param id 主键 */ @Transactional void delete(K id); /** * 更新 * * @param entity 实体对象 * @return 实体对象 */ @Transactional T update(T entity); /** * 根据ID查询 * * @param id 主键 * @return 实体对象 */ Optional findById(K id); /** * 查询所有 * * @return 实体对象列表 */ List findAll(); }