我正在工作的Spring引导应用程序。
我们有服务层、Rest控制器和Dao作为存储库。
我想做的是,我将编写一个扩展CrudRepository的BaseRepository,BaseRepository应该接受所有的实体并执行持久操作。
有办法吗??
不要扩展CrudRepository它的功能都与泛型类型绑定在一起,为一个泛型实现扩展它是很糟糕的。您可能只是想要一些简单的直接使用JPA实体管理器的东西:
import javax.persistence.EntityManager;
import org.springframework.beans.factory.annotation.Autowired;
public class GenericRepository {
@Autowired
private EntityManager entityManager;
public <T, ID> T findById(Class<T> type, ID id) {
return entityManager.find(type, id);
}
}
问题内容: 我需要知道是否有可能在Spring数据其余部分中使用一个Crud存储库来管理多个实体。 范例: 图书馆实体 图书实体 我的要求是 只能使用该存储库来管理图书馆和图书实体。 我尝试插入,到目前为止效果很好。但是此方法不支持其他操作。还有什么其他方法,而不是有两个原始存储库来完成。 问题答案: 当然可以。像这样修改一下您的资料库: 然后,您可以使用以下负载创建/更新您的图书馆及其书籍: S
一:如果我跨多个实体执行操作,该怎么办:我使用哪个存储库?第二:Spring Data Jpa是否允许没有任何类型参数的存储库?
我有一个通用实体,我想使用JPA持久化,以便它的通用值存储在单个列中。简化的实体类如下所示: 类型唯一标识泛型值的类,并且允许具有相同类的多个类型: 我没有找到如何使用Hibernate保持这种泛型类的方法。我找到了替代方法和变通方法,但它们在我看来并不理想。我考虑了以下选项: > 将值的类型设置为JsonNode,并将其类型类标记为com。弗拉德米尔恰。冬眠类型json。JsonBinaryTy
我有几个实体,并使用Spring Data JPA存储库与规范查询我的数据库。因此,我创建了一个泛型类< code>SpecBuilder来基于查询描述(< code>MyQueryDescriptor)构建我的查询。 我的存储库: 和 现在有三件事我不太确定:< br> 1) 使用泛型SpecBuilder是一个干净的设计吗? 2) 有没有办法避免为每个实体编写这些存储库接口?假设一个通用存储库
我的应用程序有250多个表,每个表都有ID和name列。我正在尝试用Hibernate5+将我们的应用程序从Hibernate3迁移到Spring-JPA4.3。 在当前的hibernate层中,我有(选项1): 因此,如何在一个JPA存储库中执行以下操作: