我有一个场景需要从Oracle数据库中的20个表中获取数据。我有20个实体类,我使用Spring JPA来获取数据。我正在使用Simple Crud操作来获取数据 {
public interface Object1Repository extends CrudRepository<Object1, Long> {
List<Object1> findAll();
}
}
同样适用于table2 {
public interface Object2Repository extends CrudRepository<Object2, Long> {
List<Object2> findAll();
}
}
等表3,table4等...
所以我的问题是我是否需要创建20个这样的接口存储库来从数据库中获取数据,或者有更好的方法来执行以下操作:
{
public interface CommonRepository extends CrudRepository<GenericObject, Long> {
List<Object1> findAll();
List<Object2> findAll();
List<Object3> findAll();
List<Object4> findAll();
...
}
}
答案 0 :(得分:0)
您必须为每个实体创建一个存储库接口,并将查询20个表的逻辑移动到您的@Service
组件,该组件将充当&#34;业务服务门面&#34;。如果要一起查询所有内容,可以使用@Transactionl
注释方法,如果一个查询失败,则可以使用非注释。
答案 1 :(得分:0)
如上所述,您必须为每个repository
创建每个entity
。
但如果您使用entities
关系JPA
,@OneToMany
,@ManyToOne
或@ManyToMany
之间的@OneToOne
连接,则可以在一个请求中调用所有表格def FitFunc(x, a, b, c, d, e, border):
if x < border:
return a * x + b
if x > border:
return c * x**2 + d * x + e