问题标签 [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.
java - 如何在自定义 spring-boot-starter 中使用 spring-boot-starter-jpa?
我有我的自定义启动器。在其中,我定义了一个存储库。我应该如何在配置中定义它?这就是我以前做普通豆子的方式。
存储库:
和配置
如果您使用此启动器,上下文将看不到存储库 bean。因为我没有在配置中声明,不知道怎么声明。
mysql - 当主键到达顶部时,如何告诉 MySQL 重置主键增量?
我每毫秒在数据库中存储大量数据。我被告知要这样做。并且主键到达顶部就可以了,那么重置它并覆盖数据库中的当前行就可以了。
是否可以在 MySQL 或 Spring Boot JPA 中设置主键,以便在主键达到其顶部时自行自动重置?id
在这种情况下,我选择long
了数据类型。但不确定它是否会保持并足够好。这种策略作为自动犯罪。
java - 将多对多关系映射到 DTO 对象
嗨,就像主题一样,我想将实体类映射到 DTO 对象。
订单类别:
产品类别:
订购零件类别:
此时我正在使用 mapstruct 中的映射器:
还有我的 DTO 课
我想将此关系映射到我的 OrderDto 对象。有没有办法自动映射它或者我必须编写自己的映射器?感谢您的回答。
java - Java Springboot Authentication getAuthentication 创建主体
我创建了一个 JWT 令牌,并在其中一个声明中放置了我的 UserDetails。
当我去 getAuthentication 并且我想创建主体时,我无法将其创建为 UserDetails 的属性。这是因为 claim.get("UserDetails") 未被识别为 UserDetails 类的属性。
我收到错误:无法从 Object 转换为 UserDetails
我尝试将对象强制转换为 userDetails,但是当我尝试运行它时会出错。
在我的控制器中,我尝试获取当前登录的用户:
问题是我没有将主体作为 UserDetails 的实例,所以我无法调用 principal.getUsername(); (这是来自 UserDetails 类的函数)
如果我在最初创建主体期间尝试填充 UserDetails,我会收到一个巨大的查询,每次调用 API 时都会选择有关用户的所有信息,我不希望这种情况发生。该示例代码如下:
有没有人遇到过这个问题,或者知道解决方案?
sql-server - Spring jpa repo 的意外行为(事务内的唯一键违规)
我正面临 SpringBoot Jpa (2.1.18.RELEASE) 的奇怪行为。
我有一个对“名称”列具有唯一约束的 sql 服务器表。我有这个方法应该删除一条记录并插入另一个同名的记录;这两个操作在一个事务中:
如果我执行此代码,则会出现关于违反唯一约束的错误(可能是因为直到事务结束才将删除提交到数据库):
奇怪的是,当我更改添加简单 findAll() 的方法时,异常消失了:
谁能给我解释一下这种行为?
java - 一对一关系映射 JPA SpringBoot 实现报错:必须在调用 save() 之前手动分配此类的 id
我正在尝试了解一对一映射类的 JPA Spring Boot 实现,并希望是否有人可以为我提供清晰的图片。
- 一对一映射场景:表 foo 和表 childfoo Foo 具有列 foo_id,foo_name, foo_place childfoo 具有列 foo_id(foo 表的外键), childfoo_name
这是我到目前为止所做的 JPA 实体实现:
ChildFoo 类
我已经为 Foo 创建了一个存储库,并
FooRepository.save(foo)
在控制器中使用它来保存数据。
添加 foo 和 childfoo 的控制器代码:
但我收到错误:
必须在调用 save() 之前手动分配此类的 ID。
spring-boot - 一对多双向关系实现 postgres SpringBoot
我正在寻求实现多对一映射类的建议,并希望是否有人可以为我提供清晰的图片。
一对一映射场景:Table foo 和 Table childfoo Foo 有一对多和多对一的关系
这是我到目前为止所做的 JPA 实体实现:
ChildFoo 类
我为 Foo 和子 foo 创建了一个存储库,用于在控制器中保存数据。
添加 foo 和 childfoo 的控制器代码:
编辑:
现在我需要使用 someId 和 someName 值来获取 childFoo。我尝试使用连接,但想知道是否有任何有效的方法可以在 ChildFooRepository/Foo 存储库中编写查询以传递 someId 和 someName。
我在 childFoo 中有这个查询并收到错误:
我应该在 Foo 存储库而不是子 foo 存储库中添加此查询吗?
spring-boot - 任何对象上的 Spring JPA ManytoMany 循环引用
我在代码中有以下实体和关系,
图书.java
BookPublisher.java
Publisher.java
BookPublisherId.java
问题 1: 插入按 Book、Publisher、BookPublisher 的顺序正常工作。但是 findAll() 不会返回任何存储库的结果,它会导致查询下面的语句总是循环的,使用:
怎么了?
问题2: 如何查询图书对象的Publisher ID =?具有以下对象结构?findBookByPublisherID("1")
spring-boot-jpa - Spring Boot JPA 选择特定列结果应为 JSON 格式
Spring Boot JPA 选择特定列的结果应为 JSON 格式
@Query(value = "SELECT id, property_id, display_name FROM property_basic_property_details WHERE status='1' and unique_id=:unique_id", nativeQuery = true) public List propertydisplayname(String unique_id);
错误:
无法执行查询; SQL [SELECT id, property_id, display_name FROM property_basic_property_details WHERE status='1' and unique_id=?]
输出:
{ { "id":1, "property_id":pp_001, "display_name":test1, }, { "id":2, "property_id":pp_002, "display_name":test2, }, }