我有三个JPA实体类A
、B
和C
,它们的层次结构如下:
A
|
+---+---+
| |
C B
即:
@Entity
@Inheritance
public abstract class A { /* ... */ }
@Entity
public class B extends A { /* ... */ }
@Entity
public class C extends A { /* ... */ }
使用Spring Data JPA,为这些实体编写repositories类的最佳方法是什么?我知道我可以编写以下内容:
public interface ARespository extends CrudRepository<A, Long> { }
public interface BRespository extends CrudRepository<B, Long> { }
public interface CRespository extends CrudRepository<C, Long> { }
但是,如果在类A
中有一个字段name
,并且我在ARepository
中添加了这个方法:
public A findByName(String name);
我还需要在另外两个存储库中编写这样的方法,这有点烦人...有没有更好的处理方式?
另一个我想要的是,ARespository
应该是只读存储库(即扩展 Repository
类),而其他两个存储库应该公开所有 CRUD 操作。
请告诉我可能的解决方案。
ARespository
中.. - AndreaSELECT
部分和刚刚实例化的香蕉的基本水果特性的填充。不过你需要检查一下这是否适用于Spring。 - Timo