问题标签 [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-data-jpa@ManyToMany 集合未填充
我遇到了@ManyToMany 集合没有填充数据加载的问题。我试过 FetchType.LAZY 和 FetchType.EAGER,结果没有变化。
当我打印用户对象时,角色的集合对象为空。
用户 [userId=2, firstName=Ajay, lastName=C, email=admin.demo@gmail.com, password=12345, roles=[]]
还尝试通过添加引用的列。但没有奏效。
请协助。
用户和角色实体如下。
angular - 无法将 CORS 支持添加到 Spring Boot 数据 jpa
尝试访问我的本地主机服务时出现以下异常。
我的 RestConfiguration 类是:
Angular它抛出以下错误:
虽然我可以在浏览器中加载 URL:http://localhost:8080/getPositions并查看输出。
我的角度代码是
请帮忙。
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=[]]
还尝试通过添加引用的列。但没有奏效。
请协助。
用户和角色实体如下。
java - @GetMapping 不序列化 Id
我@GetMapping
在Spring boot中遇到问题。
这是关于我的@GetMapping
函数id
在从数据库中获取所有数据时不会在这个模型上序列化我的函数:
我尝试了很多方法,但根本无法解决。甚至这个问题:Spring boot @ResponseBody does not serialize entity id
这是下图:
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
如何将其配置为自动生成枚举类型?
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.决赛]
控制器类:
/li>存储库:
/li>POJO
/li>
spring - Spring Jpa 实体 - EntityManager.getReference
我有一个使用 Spring JPA 的 Spring Boot 应用程序,我想做的是通过提供这些子实体的 ID 来保存一个具有一些外键的新实体。所以,比如:
使用它,我希望能够让实现 CrudRepository 的 PersonRepository 仅通过提供 Pet 的 guid 来保存一个人。使用直接休眠我可以使用 EntityManager.getReference 来做到这一点。我知道我可以将 EntityManager 注入到我的 Entity 或 Repository 中并以这种方式执行某些操作,但是有更简单的方法吗?我尝试只做 person.setPet(new Pet(myPetsGuid)),但是这样做时我得到一个“找不到外键”,所以这似乎不起作用。
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" }
java - 有人可以解释 Hibernate 中的 orphanRemoval 吗?
我的问题不是“mappedBy”如何工作。我知道,只是表示关系的所有者。我的问题是 orphanRemoval 是如何工作的。在我的例子中,我根本不使用 mappedBy 指示。
我有以下实体:
我正在尝试测试删除孤儿的功能。
我写了以下测试:
catalog_good_orphan.xml:
我根本不明白“orphanRemoval = true”的意思。他为什么要那样工作?结果,我们只从“CatalogOrphan”中删除了“GoodOrphan”的链接,而“GoodOrphan”到“CatalogOrphan”的链接仍然存在。
我究竟做错了什么?还是这是正确的行为?