手中处理一个项目,持久层采用hibernate+jpa。实体类通过注解来绑定到table。
我想用一个实体基类来管理常用的字段,比如createBy、createTime等,
然后用泛型的dao来保存这些常用字段,应该如何处理?
特别说明的是,这些常用字段不一定每个实体都有,那么在泛型dao中的保存方法,
该如何处理这些常用但不一定存在的字段呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
首先,你定义的基类应该对应一张表,包含你说的常用字段。
其次,你用到的其他的实体,如果有这些字段的话,就应该继承自这个基类;如果没有的话,就不应该继承这个基类。
所以你的这个基类DAO的泛型类型就是你定义的基类,你纠结的情况应该不存在的啊。
此外,JAP的保存操作根据你传入的实例执行保存操作的,不需要你写保存方法的。
基类DAO直接就是定义的接口,已经包含的增删改查的操作了,例如使用SpringJPA示例如下:
`public interface BaseDomainDao extends JpaRepository, JpaSpecificationExecutor {
}`