“命中类型限制”在弹簧数据关系文档中的意思是什么? 我正在使用春季数据存储库,并在文档中遇到以下声明: 遵循这条道路很容易导致混乱,并灰心,因为您会迅速击中...

问题描述 投票:0回答:1

我知道,存储库接口需要将域类型及其标识符类型指定为通用参数。但是,我尚不清楚“命中型限制”一词。

如果存储库中声明的ID类型不匹配我的域对象中名为“ ID”的属性的类型,则我将遇到编译时类型不匹配或运行时错误?
在这种情况下,“类型限制”到底是什么?它与Java的通用类型系统的局限性有关,还是指其他约束?

相关文档

标准

CrudRepository

提供类似的方法

Optional<T> findById(ID id)

它还允许派生的方法
java spring spring-data spring-data-jdbc
1个回答
0
投票
SomeType findBySomeProperty(ID id)

there

SomeType
可以是

T
Optional<T>

List<T>
,还有更多,并且是您实体的某些属性。
现在,您定义了一个域模型,其中您的属性为

,它不是实体的
id。
Query推导对
someProperty
都无法使用,因为它已经被声明与实际的
ID
一起工作,无论其命名如何。
您可以做的就是创建自己的
id

使用

findById注释。 但是,如果您执行此操作,并且ID属性与您的

findById
属性不同(或您的自定义@Query应返回与

id

findById
的类型不同) a)与您打算的一个不同。 B)代码不编译,因为类型会导致无法接受的方法的过载/覆盖的变体。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.