Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当您可以定义返回任何类型的方法时,为什么Spring CrudePositories是泛化的?_Spring_Hibernate_Spring Data_Spring Data Jpa_Jpql - Fatal编程技术网

当您可以定义返回任何类型的方法时,为什么Spring CrudePositories是泛化的?

当您可以定义返回任何类型的方法时,为什么Spring CrudePositories是泛化的?,spring,hibernate,spring-data,spring-data-jpa,jpql,Spring,Hibernate,Spring Data,Spring Data Jpa,Jpql,假设我有两个JPA实体,Fizz和Buzz,它们对应于数据库中的fizzes和buzzs表 是什么阻止我写这样的东西: public interface BuzzRepository extends CrudRepository<Buzz,Long> { @Query("FROM Fizz WHERE id = :id") public Fizz getFizzById(@Param('id') Long id); } 公共接口BuzzRepository扩展了Cr

假设我有两个JPA实体,
Fizz
Buzz
,它们对应于数据库中的
fizzes
buzzs

是什么阻止我写这样的东西:

public interface BuzzRepository extends CrudRepository<Buzz,Long> {
    @Query("FROM Fizz WHERE id = :id")
    public Fizz getFizzById(@Param('id') Long id);
}
公共接口BuzzRepository扩展了Crudepository{
@查询(“来自Fizz,其中id=:id”)
公共Fizz getFizzById(@Param('id')Long id);
}
也就是说,当我可以定义自己的方法来返回
Fizz
String
或任何我想要的东西时,泛化的
crudepository
有什么意义


我这样问是因为我觉得我遗漏了一些关于
crudepositories
如何使用的基本意图

因为默认情况下,它将创建与实体一起工作的实现,而实体是用实体进行泛化的。例如,它将具有方法
findAll()
,该方法将返回该类型的所有实体。

FYI JPQL查询以
SELECT{alias}
开始。忽略这一点,可移植性刚刚被抛弃了tanks@DN1(+1),但你所说的“可移植性刚刚被抛弃”是什么意思?什么之间的可移植性?!显然,没有它就不再是JPQL了,所以如果有人对不同的JPA提供者使用它,它将失败。传播这些东西意味着其他人也会复制它。又称不良行为,几乎没有好处