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

使用泛型和jpa EntityManager方法

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

使用泛型和jpa EntityManager方法

您已经开始使用良好的模式。下一步是为每种实体类型创建PersistService的子类。我还将提到,从长远来看,您可能希望为每个实体都有一个通用的基类或接口。例如,我将其称为

Entity
。该基类(如果是类而不是接口)可以是抽象的,并且可以为所有实体定义通用方法。

public interface Entity {    long getId();}

您可以使用

Entity
在的实现中定义的方法
PersistService
(当您在此基本服务或代码的其他位置添加更多与实体相关的通用业务逻辑时,可能会发现它们很方便)。

您的实体

A
看起来像

public class A extends Entity {}

PersistService
成为

public abstract class PersistService<T extends Entity> {    // Your common methods (persist, remove, etc.).    public abstract Class<T> getEntityClass();}

您的特定于实体的服务如下所示

public class APersistService extends PersistService<A> {    public Class<A> getEntityClass() {        return A.class;    }}

然后

getEntityClass()
,您可以在实现时使用该方法
PersistService.remove()

尽管特定于实体的子类解决了面对类型擦除的特定类对象的问题,但您最终会发现您希望该子类也支持特定于实体的查询。



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

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

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