我的问题是Spring JPA是否会为每个查询抛出异常?
我的意思是,可以说数据库中的表之间没有任何关系(FK)。这是不好的设计,但您不能更改它,并且它不取决于您。
但是您知道数据本身应该是存在关系的。
这就是为什么要创建具有所有关系的实体模型的原因。
但是正如我所说的,数据库中没有真正的关系。
而且在某一点上,数据库中的数据不一致。
如果存在不一致,Spring JPA会抛出异常吗,否则它只会返回不一致的数据?
答案 0 :(得分:0)
我假设带有“关系”的意思是“外键”。
JPA不在乎外键。 它关心的是数据是否与实体上的映射信息匹配。
因此,如果您有一个实体A
引用了一个ID为B
的实体b
,但是这样的B
不存在,您最终可能会遇到异常。
或者,您可能只得到一个A
且对B
的引用为空。
如果引用被标记为强制引用,则实际上可能首先不能加载A
,因为使用了联接,因此根本不返回任何数据。
侧面说明:所有这些取决于您正在使用的JPA实现,而不是Spring Data JPA。