作者:麦穗的小婷 | 来源:互联网 | 2023-09-02 16:35
在我的一次工作面试中我被问到这个问题。
考虑一下,我们有一个由不同实体组成的Spring JPA项目,例如雇员,主管,部门,站点等。。
-
我们需要一种Repo方法,例如用{em> say findAllByName
这样的方法,使得该方法仅定义一次并为我们的所有实体重用。
-
他进一步说,Spring JPA中的这一特定功能使使用GraphQL的必要性消失了。有效地,可以利用此功能来利用REST获得类似GraphQL的行为。
我了解以上的第1点,可以使用@MappedSuperClass
机制。但是,对于第2点,我认为@MappedSuperClass
无济于事。
Spring JPA中是否有关于这种概念的指针?
您只需创建基本存储库。当然,扩展MyBaseRepository的存储库必须用于具有名称字段的实体。
@NoRepositoryBean
public interface MyBaseRepository extends JpaRepository {
public List findAllByName(String name);
}
@Repository
public interface EmployeeRepository extends MyBaseRepository{
}