【发布时间】:2019-11-08 18:16:01
【问题描述】:
尝试在 MySQL 上运行 Spring-Boot JPA 并在此处按照本教程进行操作:https://spring.io/guides/gs/accessing-data-mysql/ 一切顺利如预期。
但是,当我引入了一个新的实体即。用户地址和建立的 1 对 1 单向映射,应用程序开始抛出 StackOverFlow 错误 - 即使映射非常基本,我已经在应用服务器(例如 GlassFish/Payara 5)上使用过几次没有问题。
下面是映射:
在User实体中
@OneToOne(mappedBy = "user", optional = false, cascade = CascadeType.ALL)
private Address address;
..关系的另一端,即Address:
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name="USER_ID")
private User user;
预期:单行:{"id":1,"name":"First","email":"someemail@someemailprovider.com","address":{"id":2,"line1":"Line1","postcode":"PST CD","city":"City","state":"State","country":"IN"
实际:上面的行在控制台上打印了无数次,这是一个 StackOverflow 错误。
【问题讨论】:
标签: mysql spring-boot jpa-2.0 one-to-one