spring-data相关内容

自定义 Spring 数据存储库 bean 名称以用于多个数据源

我有一个项目,它利用 Spring Data(在本例中为 MongoDB)与具有相同架构的多个数据库进行交互.这意味着每个数据库都使用相同的实体和存储库类.所以,例如: 公共类事物{私有字符串 id;私有字符串名称;私有字符串类型;//等等...}公共接口 ThingRepository 扩展 PagingAndSortingRepository{列出fin ..
发布时间:2022-01-18 19:22:36 Java开发

Spring Data:MongoDB文档中的唯一字段

假设我有以下数据库实体: @Document(collection = "users")公共类用户{@ID私有字符串 id;私人字符串名字;私人字符串姓氏;私人字符串电子邮件;} 如何强制字段电子邮件是唯一的?这意味着当应用程序尝试保存实体时,MongoDB 应该检查是否已经存在使用此电子邮件地址的用户记录. 问候,史蒂芬 解决方案 MongoDB需要创建一个字段并建立索引,才能 ..
发布时间:2022-01-18 19:22:26 Java开发

检查 Spring 数据 JPA 查询中的 List 参数是否为空

我有一个 Spring Boot 应用程序并使用 Spring Data JPA 来查询 MySQL 数据库. 我需要得到一个用一些参数过滤的课程列表. 我通常使用语法 param IS NULL 或 (/*do something with param*/) 这样如果参数为空,它就会忽略该参数. 使用简单的数据类型我没有问题,但是当涉及到对象列表时,我不知道如何检查 NULL ..
发布时间:2022-01-18 19:22:20 其他开发

使用 Spring Data 时应该如何注册自定义 Hibernate 5 数据类型(BasicType)?

我使用 Spring Data 并决定创建可在 Hibernate 实体中使用的新自定义数据类型.我检查了文档并选择 BasicType 并根据此 官方用户指南. 我希望能够在其类名下注册类型并能够在实体中使用新类型而无需 @Type 注释.不幸的是,我无法引用 MetadataBuilder 或 Hibernate 配置来注册新类型.有没有办法在 Spring Data 中获取它?似乎 H ..
发布时间:2022-01-18 19:21:07 Java开发

Spring Data Rest - 缓存

如何使用 Spring Data Rest 启用缓存? 背后的原因是,一旦应用程序启动,存储库列表和搜索方法就不会改变.此外,如果仅通过 REST API 更改 REST API 背后的数据,它也确实有理由启用缓存数据. 我相信 REST API 框架中会发生某种程度的缓存,如果缓存发生在最终响应阶段,即 json 响应(以避免将对象编组为 json 的开销),那将是理想的选择 ..
发布时间:2022-01-18 19:20:24 其他开发

休息控制器与 spring-data-rest RepositoryRestResource

我知道这可能让人感觉像这个的重复. 何时使用@RestController vs @RepositoryRestResource 但是我有几件事没有在那个问题中得到解决. 使用 @RepositoryRestResource,默认情况下每个方法都是公开的.我觉得有点烦人.如果我在这里错了,请纠正我.比如下面这种情况 @RepositoryRestResource公共接口 Product ..
发布时间:2022-01-18 19:20:14 其他开发

修改 Spring Data REST 投影后面生成的 SQL 查询

编辑:如何在 SELECT 中只保留 Spring Data Rest Projections 所需的列? Spring Data Rest Projections 非常适合获取生成的链接的列子集,但在后面生成的查询仍然包含所有列. 在 SQL 查询也只有 SELECT 中的那些列在 Projection 中的情况下,如何创建 Projections 解决方案 我不知道为什么文 ..
发布时间:2022-01-18 19:19:02 Java开发

有没有办法转换弹簧数据存储库返回的对象?

现在我有一个实体对象和一个 DTO.当我做一个简单的例子时,存储库会返回一个对象数组列表:findById().有没有办法轻松地将返回类型映射为自定义 DTO 对象,而不是总是返回实体对象? 示例如下: @Query("Select f.id, f.name from Food f where f.id = :id")公共列表findById(@Param("id") Stri ..
发布时间:2022-01-18 19:18:55 其他开发

弹簧数据 JPA.子实体的分页

我将 Spring Data JPA 与 Spring Boot 版本 1.3.6.RELEASE 与内存数据库一起使用. 我想知道如何从父实体对子实体进行分页.将 fetch 设置为 LAZY 对我来说不是解决方案. 这是用例: Parent 与 Childentity 具有单向 oneToMany 关系. 一个Parent的Child数量可以达到100,000(LAZY不是 ..
发布时间:2022-01-18 19:18:47 Java开发

是否可以结合 MyBatis 和 QueryDSL/jOOQ?

MyBatis 提供开箱即用的映射、本地缓存和注销. QueryDSL/jOOQ 提供 SQL 语句的编译时检查和 IDE 自动完成功能. 可以合并吗? 换句话说,我想用 QueryDSL 或 jOOQ 创建一个查询,然后用 MyBatis 的一些胶水代码/适配器执行它. 我已经检查过的内容: 我考虑过用 QueryDSL 生成 SQL 查询字符串,并在 MyBatis 中使 ..
发布时间:2022-01-18 19:18:37 Java开发

LazyInitializationException 试图获取惰性初始化实例

当我尝试获取惰性初始化实体时,我在 IDE 中看到以下异常消息(我找不到它在代理实体中的存储位置,因此我无法提供此异常的整个堆栈跟踪): 方法抛出 'org.hibernate.LazyInitializationException' 异常.无法评估 com.epam.spring.core.domain.UserAccount_$$_jvste6b_4.toString() 这是我在尝试访问 ..

Spring Data JPA - 如何仅使用月份和日期从日期列中获取数据?

我有一个使用 mysql 的简单 Spring Data JPA 项目,我需要获取与日期和月份匹配的所有寄存器.我需要过滤的列是日期时间类型. 1935-12-08 00:00:00 如果我想在数据库级别执行此操作,它可以正常工作: SELECT * FROM my_database.event where event_date LIKE '%-12-08%'; 它将日期视为字符串.现在我 ..
发布时间:2022-01-18 19:18:22 Java开发

使用 spring-data-redis 将原始 json 存储在 redis 中

我正在使用 RedisCacheManager 将我的缓存数据存储在我的 spring-boot 应用程序中.默认序列化程序似乎将所有内容序列化为字节并从字节反序列化为适当的 java 类型. 但是,我想将缓存数据存储为 json,以便我可以从非 Java 客户端读取它. 我发现从默认序列化程序切换到其他序列化程序(例如 Jackson2JsonRedisSerializer)应该可以 ..
发布时间:2022-01-18 19:18:14 Java开发

如何使用休眠过滤器或其他方式在 Spring Data jpa 中实现行级安全性?

信息软件中非常重要的问题之一是存在具有不同职责和访问级别的不同角色的用户.例如,考虑一个具有如下结构(层次结构)的组织: [组织角色] [组织ID]CEO org01财务助理 org0101人员 1软件助手org0102人员 2商务助理 org0103人员 3 想象一下,这个组织有一个管理人员信息的系统.本系统显示人员信息的规则是每个用户都可以看到他所访问的组织的人员信息;例如,‘user1’ ..