jparepository的泛型没有类型擦除?

0x6upsns  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(307)

我这样使用数据存储库:

interface HerbadgeRepository extends JpaRepository<Herbadge, Integer> {
}

在甲骨文他们说:
为了实现泛型,java编译器应用类型擦除。。。
我很困惑,字节码一定是这样的:

interface HerbadgeRepository extends JpaRepository<?, ?> {
}

那么spring数据如何知道必须返回哪个实体呢?

tcbh2hod

tcbh2hod1#

spring数据使用反射分析类签名。您可以使用以下代码获取类类型:

HerbadgeRepository.class.getGenericInterfaces()[0].getTypeName()

相关问题