2017-09-04 126 views
1

我使用數據倉庫是這樣的:JpaRepository的泛型沒有類型擦除?

interface HerbadgeRepository extends JpaRepository<Herbadge, Integer> { 
} 

甲骨文they say

要實現泛型,Java編譯器適用類型擦除...

我很困惑,字節碼必須是這樣的:

interface HerbadgeRepository extends JpaRepository<?, ?> { 
} 

那麼spring-data如何知道必須返回哪個實體呢?

回答

-1

Spring數據使用Reflection分析類簽名。你可以obtian類的類型與代碼:

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

泛型參數=對不起 –

+0

,didn't瞭解您的評論的想法。我已經提供了獲取類型的方法 –