手中处理一个项目,持久层采用hibernate+jpa。实体类通过注解来绑定到table。
我想用一个实体基类来管理常用的字段,比如createBy、createTime等,
然后用泛型的dao来保存这些常用字段,应该如何处理?
特别说明的是,这些常用字段不一定每个实体都有,那么在泛型dao中的保存方法,
该如何处理这些常用但不一定存在的字段呢?
首先,你定义的基类应该对应一张表,包含你说的常用字段。
其次,你用到的其他的实体,如果有这些字段的话,就应该继承自这个基类;如果没有的话,就不应该继承这个基类。
所以你的这个基类DAO的泛型类型就是你定义的基类,你纠结的情况应该不存在的啊。
此外,JAP的保存操作根据你传入的实例执行保存操作的,不需要你写保存方法的。
基类DAO直接就是定义的接口,已经包含的增删改查的操作了,例如使用SpringJPA示例如下:
public interface BaseDomainDao extends JpaRepository, JpaSpecificationExecutor {
}