spring-data 相关问题

Spring Data是一个伞形开源项目,它包含许多特定于给定数据库的子项目。这些项目是通过与这些激动人心的技术背后的许多公司和社区合作开发的。

使用 SpringData 创建只读存储库

是否可以使用 Spring Data 创建只读存储库? 我有一些链接到视图的实体和一些子实体,我想为其提供带有一些方法的存储库,例如

回答 6 投票 0

无法通过父级更新时删除子级

这是我的实体Product。它与ProductImages具有OneToMany关系。 公共类产品实现可序列化{ @ID @GenerateValue(策略 = GenerationType.IDENTITY) @Column(na...

回答 1 投票 0

更新 OneToMany 记录时无法删除

这是我的实体Product。它与ProductImages具有OneToMany关系。 公共类产品实现可序列化{ @ID @GenerateValue(策略 = GenerationType.IDENTITY) @Column(na...

回答 1 投票 0

Spring Data JDBC 如何持久化嵌套在另一个一对多关系中的一对多集合

我在对嵌套在聚合根的另一个子实体内的实体集合进行级联持久操作时遇到问题。换句话说,我正在尝试关联一组实体......

回答 2 投票 0

意外的令牌:DISTINCT Spring Data

@Query("选择提取(来自 e.estimateDate 的月份)作为月份," + "EXTRACT(YEAR FROM e.estimateDate) AS YEAR," + "e.status.id," + &...

回答 1 投票 0

Spring JPA:从异步方法处理时数据未保存到数据库

我有一个使用 Spring JPA 的应用程序,并使用 @Async spring 注释执行一些后台进程。该过程需要将参数保存在数据库中,或者如果已经存在,则更新...

回答 2 投票 0

QueryDSL 中的查询谓词

环境为Java、Spring-boot、Hibernat、QueryDSL、MySQL。 我有表结构 插曲 +----+-------------+-------- |编号 |地址_id |事件号 +----+-------------+-------- | 5 | ...

回答 1 投票 0

Spring-data-rest 和 Spring-data-jpa 是否用于生产级应用程序?

我正在学习 Spring Boot,我刚刚介绍了如何利用 Spring-Data-Rest 和 Spring-Data-Jpa 等服务创建应用程序。我知道这两项服务肯定会加快速度...

回答 1 投票 0

DDD - 在 Spring Data 中维护单独的域类和实体类

我正在开发一个Spring Boot项目,其中有两个名为domain和persistence的独立包。 域包主要包含域类(根据业务设计...

回答 1 投票 0

spring data jdbc 和序列

我使用spring data jdbc和mariadb。 使用 spring data jpa 来处理序列,我们可以做到 @ID @GenerateValue(生成器=“xxxx_id_seq”) @SequenceGenerator(name="xxxx_id_seq",sequenceName...

回答 1 投票 0

Spring data mongodb 不能在 spring webmvc 应用程序中与 spring data jpa 一起使用

我有一个旧版 spring mvc Web 应用程序,它使用 spring data jpa 1.9.5。当我添加 spring data mongodb 1.9.5 的依赖项时,相同的应用程序就会中断。 聚甲醛: ...

回答 1 投票 0

Spring Data mongodb 2.1.0 中的PropertyReferenceException

我使用的是spring data mongodb 2.1.0。 并具有存储库的自定义实现,如下所示: 公共类 ProductItemRepositoryImpl 实现 ProductItemRepositoryCustom { @覆盖 酒吧...

回答 1 投票 0

无法为一位客户保存多个订单

我已经创建了一个Customer实体类以及一个Order实体类!我已将两者映射为一对多和多对一双向!我已将两个类上的 CascasedType 设置为 REFRESH,

回答 1 投票 0

SpringBoot Data Mongodb 与 Testcontainers 导致“过早到达流末尾”

我将SB应用程序升级到3.2.0后就开始了。我最初以为我的 spring 上下文有问题。所以经过几天的头撞墙后,我终于...

回答 1 投票 0

如何配置支持会话的MongoDB集群?

我想探索MongoDB的新事务特性并使用Spring Data MongoDB。但是,我收到异常消息“此客户端所在的 MongoDB 集群不支持会话

回答 7 投票 0

Spring Data JPA:如何编写具有 IN 运算符的子查询

如何在 Spring Data JPA 中编写以下子查询? select o from Owner o where o.ownerId IN(从 Cars c 中选择 c.ownerId) 这里Owner是一个实体类,Cars是另一个实体类...

回答 1 投票 0

spring-data-jdbc 与 mybatis 集成

我目前在我的项目中使用myBatis,它对于复杂的SQL很有用,但是我发现我需要为基本的CRUD创建许多冗余的SQL。所以我遇到了 spring-data-jdbc (这里),这是一个非常

回答 2 投票 0

@TestNg [TestNG] 未找到测试。没有运行任何内容 用法:<main class> [选项] 要运行的 XML 套件文件

当我使用“@Test”注释运行测试 ng 方法时,我们遇到异常并且测试未运行。 测试NG类 封装测试NGtest; 导入 org.openqa.selenium.WebDriver; 导入组织。

回答 1 投票 0

Spring Data:JPA 存储库 findAll() 返回 *Map 而不是 List?

我有一个 Spring Data JPA 存储库接口,如下所示: @存储库 公共接口 DBReportRepository 扩展 JpaRepository { 列表<

回答 5 投票 0

在Spring存储库@Query中使用@MappedSuperclass

我正在尝试为扩展我的基础存储库的所有存储库定义通用查询: @NoRepositoryBean 公共接口 DocumentRepository 扩展 JpaRepository 我正在尝试为扩展我的基本存储库的所有存储库定义通用查询: @NoRepositoryBean public interface DocumentRepository<T extends BaseDocument> extends JpaRepository<T, Long> { @Query(value = "FROM BaseDocument bd WHERE (bd.createdAt IS NULL OR :to IS NULL OR bd.createdAt < :to) AND (bd.deletedAt IS NULL OR :from IS NULL OR bd.deletedAt > :from)") Iterable<T> findAllActiveBetween(OffsetDateTime from, OffsetDateTime to); } @MappedSuperclass @Where(clause="deleted_at IS NULL") abstract public class BaseDocument { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private OffsetDateTime createdAt; private OffsetDateTime deletedAt; } 有问题的部分是在@Query 中使用BaseDocument。 可以在所有子存储库中定义这样的方法而不重复吗? 当您使用@MappedSuperclass时,继承的类不共享可供选择的表,因此每个类都需要单独的查询。存储库的继承在这里无法帮助您。 如果您使用其他继承策略,例如联合多表继承,则可以从超类的表中进行选择,然后您可以使用java对象进行导航。如果您需要在查询中使用子类的属性,那么每个子类当然需要实现自己的查询。 @NoRepositoryBean public interface DocumentRepository<T extends BaseDocument> extends JpaRepository<T, Long> { @Query(value = "FROM BaseDocument bd WHERE (bd.createdAt IS NULL OR :to IS NULL OR bd.createdAt < :to) AND (bd.deletedAt IS NULL OR :from IS NULL OR bd.deletedAt > :from)") Iterable<T> findAllActiveBetween(OffsetDateTime from, OffsetDateTime to); } @Entity @Inheritance(strategy=InheritanceType.JOINED) @DiscriminatorColumn(name="BaseDocument_TYPE") @Table(name="BaseDocument") abstract public class BaseDocument { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private OffsetDateTime createdAt; private OffsetDateTime deletedAt; } @Entity @DiscriminatorValue("TextDocument") @Table(name="TextDocument") public class TextDocument extends BaseDocument { private String text; } @Entity @DiscriminatorValue("AudioDocument") @Table(name="AudioDocument") public class AudioDocument extends BaseDocument { private byte [] audio; } 这可以通过 spel-expressions 实现,特别是 #{#entityName},它可在 spring-data-repositories 上使用,并扩展到存储库的域类型。 您需要做的就是将 BaseDocument 替换为 #{#entityName}。 @NoRepositoryBean public interface DocumentRepository<T extends BaseDocument> extends JpaRepository<T, Long> { @Query(value = "FROM #{#entityName} bd WHERE (bd.createdAt IS NULL OR :to IS NULL OR bd.createdAt < :to) AND (bd.deletedAt IS NULL OR :from IS NULL OR bd.deletedAt > :from)") Iterable<T> findAllActiveBetween(OffsetDateTime from, OffsetDateTime to); }

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.