问题标签 [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 投票
1 回答
230 浏览

java - spring-boot-starter-data-jpa@ManyToMany 集合未填充

我遇到了@ManyToMany 集合没有填充数据加载的问题。我试过 FetchType.LAZY 和 FetchType.EAGER,结果没有变化。

当我打印用户对象时,角色的集合对象为空。

用户 [userId=2, firstName=Ajay, lastName=C, email=admin.demo@gmail.com, password=12345, roles=[]]

还尝试通过添加引用的列。但没有奏效。

请协助。

用户和角色实体如下。

0 投票
2 回答
468 浏览

angular - 无法将 CORS 支持添加到 Spring Boot 数据 jpa

尝试访问我的本地主机服务时出现以下异常。

我的 RestConfiguration 类是:

Angular它抛出以下错误:

虽然我可以在浏览器中加载 URL:http://localhost:8080/getPositions并查看输出。

我的角度代码是

请帮忙。

0 投票
1 回答
34 浏览

spring-boot - @ManyToMany 集合未填充 spring-boot-starter-data-jpa

我遇到了@ManyToMany 集合没有填充数据加载的问题。我试过 FetchType.LAZY 和 FetchType.EAGER,结果没有变化。

当我打印用户对象时,角色的集合对象为空。

用户 [userId=2, firstName=Ajay, lastName=C, email=admin.demo@gmail.com, password=12345, roles=[]]

还尝试通过添加引用的列。但没有奏效。

请协助。

用户和角色实体如下。

0 投票
3 回答
671 浏览

java - @GetMapping 不序列化 Id

@GetMappingSpring boot中遇到问题。

这是关于我的@GetMapping函数id在从数据库中获取所有数据时不会在这个模型上序列化我的函数:

我尝试了很多方法,但根本无法解决。甚至这个问题:Spring boot @ResponseBody does not serialize entity id

这是下图:

ids 没有在 json 中序列化

0 投票
4 回答
914 浏览

java - 在spring boot中无法获取用户名

问题是:当我使用 JpaRepository 并使用一种方法通过用户名获取用户时,如下代码:

这是实体:

这是控制器:

这是从数据库获取所有用户时 JSON 的全部数据:

在此处输入图像描述

当我从名称(网址:)获取用户时localhost/u/{username}

在此处输入图像描述

我保证从 URL 输入的名称是正确的。

0 投票
2 回答
2120 浏览

java - Spring Boot Data JPA 和 PostgreSQL 自动生成枚举类型

如果我使用 MySQL,我的实体和枚举会成功创建。

我将我的数据库更改为 PostgreSQL-9.4 。所以,我有一些错误如下:

...引起:org.hibernate.tool.schema.spi.SchemaManagementException:无法对 JDBC 目标执行模式管理 [创建表角色(id int8 不为空,名称枚举('ADMIN','USER','SEARCH' ) 不为空,主键 (id))] 在 org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:59) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.tool.schema。 internal.SchemaMigratorImpl.applySqlString(SchemaMigratorImpl.java:431) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlStrings(SchemaMigratorImpl.java :420) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.tool.schema.internal.SchemaMigratorImpl.createTable(SchemaMigratorImpl.java:236) ~[hibernate-core- 5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:167) ~[hibernate-core-5.0.12.Final.jar:5.0 .12.Final] 在 org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:60) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:134) ~[hibernate-core-5.0.12 .Final.jar:5.0.12.Final] 在 org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl .java:444) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate- entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略了22个常用框架执行(SchemaUpdate.java:134)~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101)~[hibernate -core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.12.Final.jar:5.0.12 .Final] 在 org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.jpa.boot .internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略22个常用框架执行(SchemaUpdate.java:134)~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101)~[hibernate -core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.12.Final.jar:5.0.12 .Final] 在 org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate.jpa.boot .internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略22个常用框架Final.jar:5.0.12.Final] 在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate .boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build( EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略22个常用框架Final.jar:5.0.12.Final] 在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:472) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] 在 org.hibernate .boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build( EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略22个常用框架EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略22个常用框架EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final] ...省略22个常用框架

引起:org.postgresql.util.PSQLException:错误:类型“枚举”不存在 位置: org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455) 的 43 ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] 在 org.postgresql.core.v3.QueryExecutorImpl .processResults(QueryExecutorImpl.java:2155) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288) ~[postgresql- 9.4.1212.jre7.jar:9.4.1212.jre7] 在 org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] 在org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:303 ) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] 在 org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:289) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:266) ~[postgresql-9.4.1212.jre7.jar :9.4.1212.jre7] 在 org.postgresql.jdbc.PgStatement.executeUpdate(PgStatement.java:246) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7] 在 sun.reflect.NativeMethodAccessorImpl.invoke0 (本机方法) ~[na:1.8.0_191] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_191] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_191] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_191] at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke( StatementFacade.java:114) ~[tomcat-jdbc-8.5.14.jar:na] at com.sun.proxy.$Proxy93.executeUpdate(Unknown Source) ~[na:na] at org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:56) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final] ...省略了32个常见框架

我的枚举:

我的角色类:

我的 postgresql 的 application.yml 文件:

我用于 mysql 的旧 application.yml 文件:

我的 pom.xml

如何将其配置为自动生成枚举类型?

0 投票
2 回答
4137 浏览

java - java.lang.IllegalArgumentException:参数值 [1604438222] 与预期类型不匹配 [java.lang.Integer (n/a)

我有一个独立的应用程序,在调用“ http://localhost:8080/user/person/1604438222 ”时出现错误。(试图从数据库中获取人员 ID 详细信息)

2019-03-01 11:23:34.296 错误 52000 --- [nio-8080-exec-1] oaccC[.[.[/].[dispatcherServlet]:Servlet.service() 用于 servlet [dispatcherServlet] path [] 抛出异常 [请求处理失败;嵌套异常是 org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [1604438222] did not match expected type [java.lang.Integer (n/a)]; 嵌套异常是 java.lang.IllegalArgumentException:参数值 [1604438222] 与预期类型 [java.lang.Integer (n/a)]] 不匹配,根本原因

java.lang.IllegalArgumentException:参数值 [1604438222] 与 org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54) 处的预期类型 [java.lang.Integer (n/a)] 不匹配~[hibernate -core-5.3.7.Final.jar:5.3.7.Final] 在 org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:27) ~[hibernate-core-5.3.7.Final.jar: 5.3.7.决赛]

  1. 控制器类:

    /li>
  2. 存储库:

    /li>
  3. POJO

    /li>
0 投票
1 回答
259 浏览

spring - Spring Jpa 实体 - EntityManager.getReference

我有一个使用 Spring JPA 的 Spring Boot 应用程序,我想做的是通过提供这些子实体的 ID 来保存一个具有一些外键的新实体。所以,比如:

使用它,我希望能够让实现 CrudRepository 的 PersonRepository 仅通过提供 Pet 的 guid 来保存一个人。使用直接休眠我可以使用 EntityManager.getReference 来做到这一点。我知道我可以将 EntityManager 注入到我的 Entity 或 Repository 中并以这种方式执行某些操作,但是有更简单的方法吗?我尝试只做 person.setPet(new Pet(myPetsGuid)),但是这样做时我得到一个“找不到外键”,所以这似乎不起作用。

0 投票
1 回答
1782 浏览

java - findAll() 在 SpringBoot Rest MySql CRUD 操作应用程序中不起作用

我正在尝试使用 spring boot+REST+MySQL 沿着 crudrepository 接口执行 CRUD 操作,当我尝试从数据库中获取数据时,我得到的是空列表。我发现我的应用程序中的 findAll() 方法没有按预期工作。

我的应用类

我的实体类

控制器类

服务等级

存储库接口

Application.properties 文件

Pom.xml

输出

当我执行get操作时,输出的是“[]”

当我执行删除操作时,我得到了这个输出

邮递员的输出是

{ "timestamp": "2019-03-29T02:48:51.423+0000", "status": 500, "error": "Internal Server Error",
"message": "No class org.studyeasy.entity.Post 实体id 3 存在!",
"path": "/posts/3" }

0 投票
1 回答
108 浏览

java - 有人可以解释 Hibernate 中的 orphanRemoval 吗?

我的问题不是“mappedBy”如何工作。我知道,只是表示关系的所有者。我的问题是 orphanRemoval 是如何工作的。在我的例子中,我根本不使用 mappedBy 指示。

我有以下实体:

我正在尝试测试删除孤儿的功能。

我写了以下测试:

catalog_good_orphan.xml:

我根本不明白“orphanRemoval = true”的意思。他为什么要那样工作?结果,我们只从“CatalogOrphan”中删除了“GoodOrphan”的链接,而“GoodOrphan”到“CatalogOrphan”的链接仍然存在。

我究竟做错了什么?还是这是正确的行为?