栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何制作通用的JPA存储库?我应该这样做吗?为什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何制作通用的JPA存储库?我应该这样做吗?为什么?

如果您想创建自己的Repos(而不是创建对您有用的spring数据),您的示例还不错,我在一个应用程序中使用了类似的策略。

以下是改进通用方法的一些想法:我在基本域中添加了ID信息,该信息由所有域对象实现:

public interface UniqueIdentifyable<T extends Number> {    T getId();    void setId(T id);}

在下一步中,我创建了一个通用的CRUDRepo:

public interface CRUDRepository<ID extends Number, T extends UniqueIdentifyable<ID>>{   ID insert(T entity);   void delete(T entity);   ....}

我正在为CRUDRepo使用一个抽象类:

public abstract class AbstractCRUDRepo<ID extends Number, T extends UniqueIdentifyable<ID>> implements CRUDRepo<ID, T>, {...}

域存储库api现在看起来像:

public interface UserRepo extends CRUDRepo<Integer, User > {   User mySpecificQuery(..);}

最后,您可以通过以下方式实现您的存储库:

public class UserRepoImpl extends AbstractCRUDRepo<Integer, User > implements UserRepo {   public User mySpecificQuery(..){..}}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号