问题标签 [spring-boot-jpa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
98 浏览

spring-boot - BootstrapMode 如何在 LAZY 和 DEFERRED 模式下对 @EnableJpaRepositories 起作用?

当我们将 BootstrapMode 设置为 DEFERRED 和 LAZY 时,想要了解内部真正发生了什么。

已通过此链接 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.bootstrap-mode

它说:

LAZY — 隐式声明所有存储库 bean 为惰性,并导致创建惰性初始化代理以注入客户端 bean。这意味着,如果客户端 bean 只是将实例存储在一个字段中并且在初始化期间不使用存储库,那么存储库将不会被实例化。存储库实例将在第一次与存储库交互时进行初始化和验证。

DEFERRED — 与 LAZY 基本相同的操作模式,但触发存储库初始化以响应 ContextRefreshedEvent,以便在应用程序完全启动之前验证存储库

有人可以用例子来解释这个引导程序,比如回购和实体内部真正发生的事情。

谢谢

0 投票
1 回答
351 浏览

spring-boot - Spring Boot JPA 复合外键映射

我在为某些实体设置 jpa 映射时遇到问题。下面是我要实现的场景。

有3张桌子:

  1. 用户:存储用户信息。(自动生成的 ID 是主键)
  2. 帖子:存储公司发布的 Feed。(自动生成的 ID 是主键)
  3. 点赞:存储用户点赞的动态。( User-Id, Post-Id 作为复合主键)

在此处输入图像描述

下面是我尝试实现的代码,但它不起作用

下面是复合键的 IdClass :

我在 saveAndFlush 调用时遇到以下错误:

0 投票
0 回答
139 浏览

jpa - 如何使用 JPA 调用使用 MySQL 中的多个表的简单选择过程

我有一个从多个表返回结果的存储过程

我必须使用 JPA 在 SpringBoot 中调用此过程,请指导如何为此存储过程创建实体类、存储库、服务。

我试图创建实体类但不确定它是否正确

请更正此实体类并进一步指导我。

谢谢

0 投票
1 回答
333 浏览

java - Spring JPA 共享主键导致 org.hibernate.AssertionFailure: null identifier

我正在使用 MySQL 数据库制作一个 Spring Boot 应用程序,并且我正在尝试设置类似这个示例(为问题简化)的 在此处输入图像描述 内容,其中一些可选实体可以保存有关用户的额外数据。

这是我设置的简化示例:Person.java:

汽车.java:

}

还有我的测试课:

当按原样运行时,我得到org.hibernate.AssertionFailure: null identifier 如果我更改 @OneToOne (at note A) 以包含cascade = CascadeType.ALL 空标识符就会消失,但该人也会被删除。(在注 B 处测试)

感谢您的帮助,谢谢:)

0 投票
1 回答
44 浏览

java - Spring boot jpa 标识,新行的ids向前跳跃10K

我正在使用 Spring Boot JPA 2.1.18。
我所有的模型类都派生自这个基类:

一切正常,但我面临一个奇怪的行为,其中 id 用于数据库中的新行(我正在使用 SqlServer):

在此处输入图像描述

正如你所看到的,突然 id 向前跳跃了 10000,我不明白为什么(java 代码不可能保留 10000 id,因为我没有批处理)。有什么建议么?

0 投票
0 回答
64 浏览

sql - 具有多个表的 SpringBoot JPA Native 查询将数据绑定连接到投影

在我们的项目中,需要从物业、城市、州和物业设施表中获取数据。为此,我编写了上面提到的本地 sql 查询 Respository。此查询数据需要绑定到PropertyProjection对象。绑定数据时,服务器日志中出现结果集错误。您能否告诉我,如何为上述复杂投影绑定数据。

0 投票
0 回答
76 浏览

amazon-rds - 带有 AWS RDS 的 Spring Cloud AWS

我正在尝试将 Spring 应用程序与 AWS RDS 连接起来。

Spring Boot - 2.4.7, Spring Cloud AWS -2.3.1

要连接,我使用来自 AWS STS 的 Web 身份令牌。我spring-cloud-starter-aws-jdbc在类路径中,根据这个 PR,也添加aws-java-sdk-sts了。

我收到以下异常:

由于使用 spring-cloud-aws-jdbc,连接池是 tomcat 而不是 hikari,因此tomcat-pool我使用的 to paas trustCertificate 和其他 ssl 属性的等效属性是:

我尝试设置-Djavax.net.ssl.trustStore=file:///truststore/rds-truststore.jks但没有运气。

更新 1:

Aws docs,它提到

我将驱动程序更改为mariadb-java-client,但 spring-cloud-aws 在内部将驱动程序类设置为com.mysql.jdbc.Driver,然后我看到以下错误:

有没有办法强制 spring-cloud-aws 使用 Mariadb 驱动程序类?

0 投票
1 回答
40 浏览

hibernate - 如何将类的属性定义为地图的键?

这是我第一次使用 Maps 对 JPA 进行持久化。在概念层面上,我也有点迷失自己。

我有一个对象(poi),它没有一个或多个不同语言的描述。我希望 poi 对象有一张地图 [lang, description]

描述:

朗:

因此,描述包含一个附加到语言(fr、en、it、de、...)的标签,我希望我能在地图上做;

基本上,地图的关键是语言标签(如果存在)。如果“poi”有1个英文描述和1个法文描述,那么我的地图必须有2个记录,其键值为“fr”或“en”(为“lang”记录的标签)

当然,目标是能够将 lang 类重用于其他描述。

排除我当前的结果根本不是我想要的,这里是:

调试

请问你能帮帮我吗 ?

感谢您。

0 投票
0 回答
24 浏览

spring-boot-jpa - 使用 JPA 的 Spring Boot

我有一个员工表以及实体类。员工 ID 不区分大小写,这是表的 ID。

如果我传递大写 ID 或小写 ID,如果 ID 存在,spring boot JPA 应该保存在同一行中。

在设置到实体之前,我不想将 ID 值存储为大写/小写。

对于搜索,我们使用了以下内容: //findByFirstNameIgnoreCase(String firstName);

像上面我们需要保存。//saveFirstNameIgnoreCase(String firstName) ???

0 投票
2 回答
52 浏览

java - 在连接查询 Spring-Boot 中访问多个实体值

我有一个应用程序,它基本上具有类似 Post/Comment 的功能。我需要应用程序从 Post 实体呈现 Post 索引页面,并从 Comment 实体显示最新评论和作者。

我的数据库/表结构是(id 是主要的,只是没有这样显示)和示例数据:

我在两个实体中设置了双向映射:

我正在使用的 PostRepository @Query 如下。查询本身作为原始 SQL 工作,我收到带有最新评论数据的帖子:

但是当我尝试使用 ${post.commentsById} 访问我的 Thymeleaf 模板中的评论字段时,所有评论都被显示,我希望只显示从 @Query 命令加入的一个评论对象。我还看到,当我删除 @Query 时,它会做同样的事情,在这种情况下使 @Query 毫无意义。

谁能给我指导如何正确设置我们?提前致谢。

post.html Thymeleaf 模板

使用 Comment 对象数组而不是来自 @Query 的最新评论呈现 HTML