我希望有一个使用Spring Boot的微服务项目,它通过通过Spring Data JPA项目创建的依赖项来访问实体和DAO。这个想法是,多个微服务可以获得这种依赖。 然而,当jar被组装到Spring Boot Data JPA项目中时,许多依赖项通过starter依赖项包含在其中。它们中的大多数也出现在使用它的Spring Boot微服务项目中。 您将如何通过Spring Data JPA构建仅包含实体和存储库的jar?我还没有找到任何明确的例子来说明如何实现这一点,我不确定我是否偏离了我的想法。 提前谢谢。
使用Java1.8、Spring、JPA,我创建了一个,其中数据模型(实体关系)遵循这个特定的关系到多个关系:
Owner can have many Cars.
Cars only have one Owner.
这个具有以下功能:
HTTP端点
获取关于特定所有者的数据(姓名、地址等)从数据库。
检索有关特定车主汽车的信息(制造、型号等)从数据库。
HTTP端点
将有关所有者的数据保存到数据库中。
将有关车主汽车的数据保存到数据库中。
当我运行并手动创建所有者&他们的汽车时,所有这些都可以工作,并且使用GET方法端点来检索它们。
我现在要做的是在加载
我使用JPA2.0和OpenJPA作为底层实现。我有一个实体,它映射到自己来表示实体之间的父子层次结构。一个实体可以有多个子项,但最多只能有一个父项。因此,没有父级的实体位于层次结构的顶部。我的目标是从data table.So中获取我查询的所有层次结构:
SELECT e FROM MyEntity e where e.parent is null
在MyEntity中,我已经完成了如下映射:
@ManyToOne
@JoinColumn(name="PARENT")
private MyEntity parent;
@OneToMany(mappedBy="par
我有一个小的Spring Boot应用程序,依赖于spring-boot-starter-web、spring-boot-starter-data-jpa和postgresql。
我能够使用@Transactional注释并使用JPA获取实体并将其保存到数据库中。但是,如果我通过注册同步来添加afterCommit/afterCompletion挂钩,它会给出一个IllegalStateException,说明Transaction synchronization is not active。
TransactionSynchronizationManager.registerSynchron
我使用Spring Boot、Spring Data JPA和Hibernate。
我需要通过自定义注释过滤由EntityManager管理的实体。LocalContainerEntityManagerFactoryBean允许设置被扫描的包的列表,但过滤器似乎是硬编码在DefaultPersistenceUnitManager中的。
另外,LocalSessionFactoryBuilder (特定于Hibernate)具有此功能(方法setEntityTypeFilters),但不能用于需要EntityManagerFactory的Spring Data JPA存储库。
如何将实体过滤应用
我有实体、产品和类别,它们与简单的、多到多的关系结合在一起。我想得到一个按单一类别过滤的产品的分页列表。我正在尝试编写一个Spring Data JPA自动方法或一个JPQL查询方法,该方法将生成类似于以下内容的SQL:
select [...] FROM ProductToCategory ptc INNER JOIN Product p ON ptc.product_id=p.id WHERE ptc.category_id=? LIMIT ? OFFSET ?
由于ProductToCategory联接表不是JPA entity,而且我不能在JPQL中引用它,所以我能想到的最接近的事情
我想将Liquibase DB迁移支持添加到我的项目中。它也使用Spring Boot。现在,我想只使用Hibernate和JPA实体类来生成没有DB连接的changelog。但是它抛出了一个错误:
mvn liquibase:generateChangeLog
[...]
Error setting up or running Liquibase: javax.persistence.PersistenceException: Unable to resolve persistence unit root URL: class path resource [] cannot be resol
我使用SpringDataJPA1.7.1和Hibernate 4.3.7作为我的JPA提供程序。我有以下Spring存储库:
@Repository
public interface CompanyRepository extends JpaRepository<Company, Integer> {
@EntityGraph(value = "graph.company.search.results", type = EntityGraph.EntityGraphType.FETCH)
@Query("SELECT c FROM Comp
在Spring Boot中集成Spring managed Hibernate拦截器()是可能的吗?
我正在使用Spring Data JPA和Spring Data REST,并且需要一个Hibernate拦截器来处理实体上特定字段的更新。
对于标准的JPA事件,不可能获得旧值,因此我认为我需要使用Hibernate拦截器。