hibernate - 在休眠一对一关系中调用 findAll() 方法时出错
问题描述
1.EmployeeEntity类
@Entity
@Table(name = "Employee")
public class EmployeeEntitys {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", unique = true, nullable = false)
private Integer employeeId;//Integer
@Column(name = "EMAIL", unique = true, nullable = false, length = 100)
private String email;
@Column(name = "FIRST_NAME", unique = false, nullable = false, length = 100)
private String firstName;
@Column(name = "LAST_NAME", unique = false, nullable = false, length = 100)
private String lastName;
@OneToOne(cascade=CascadeType.ALL)//, fetch=FetchType.EAGER
private AccountEntity account;
public EmployeeEntitys() {
}
public EmployeeEntitys(Integer employeeId, String email, String firstName, String lastName) {
super();
this.employeeId = employeeId;
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
}
public Integer getEmployeeId() {
return employeeId;
}
public void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
return "EmployeeEntitys [employeeId=" + employeeId + ", email=" + email + ", firstName=" + firstName
+ ", lastName=" + lastName + ", account=" + account + "]";
}
public AccountEntity getAccount() {
return account;
}
public void setAccount(AccountEntity account) {
this.account = account;
}
}
2.Accountity class:
package com.dxc.OneToOne.Bidirectional;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@Entity
@Table(name = "ACCOUNT")
public class AccountEntity
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ACCOUNT_ID", unique = true, nullable = false)
private Integer accountId;
@Column(name = "ACC_NUMBER", unique = true, nullable = false, length = 100)
private String accountNumber;
@OneToOne(mappedBy = "account",cascade=CascadeType.ALL)// fetch = FetchType.EAGER
private EmployeeEntitys employee;
public AccountEntity() {
}
public AccountEntity(Integer accountId, String accountNumber) {
super();
this.accountId = accountId;
this.accountNumber = accountNumber;
}
public EmployeeEntitys getEmployee() {
return employee;
}
public void setEmployee(EmployeeEntitys employee) {
this.employee = employee;
}
public Integer getAccountId() {
return accountId;
}
public void setAccountId(Integer accountId) {
this.accountId = accountId;
}
public String getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
}
我创建了上述两个实体类,我的服务器启动良好,我正在使用 h2 数据库,我可以使用 CurdRepository 保存数据,但是每当我使用 findAll() 方法时,它都会给出以下错误
在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser。 BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson -databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9。 5] 在 com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser。 BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.std。BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson -databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser。 BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson -databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase。serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind -2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com .fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanSerializer。序列化(BeanSerializer.java:155)~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)~[jackson-databind -2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719)~[jackson-databind-2.9.5.jar:2.9.5]在com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)~[jackson-databind-2.9.5.jar :2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind .ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java: 155) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar :2.9.5] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com。fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter .java:727) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind- 2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com。 fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields (BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.BeanSerializer。序列化(BeanSerializer.java:155)~[jackson-databind-2.9.5.jar:2.9.5] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)~[jackson-databind -2.9.5.jar:2.9.5] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]在 com.fasterxml.jackson.databind.ser.BeanSerializ
解决方案
推荐阅读
- swift - 如何自定义列名?
- javascript - 使用 forEach 连接数组
- visual-studio - Nuget 包 - 属性 - 未设置路径
- django - 如何将上传的图像转换为base64并解码回来,并将文件保存为PNG?
- java - 如何在JPA中映射没有外键的一对一关系?
- sql - 一般来说,我应该在实际“UPDATE”之前“SELECT ... FOR UPDATE”吗?
- swift - 将应用推送到 AppStore 时应用商店连接操作错误
- sql - 从 JSON PostgreSQL 中提取
- dialogflow-es - 对话流可以自动估计位置距离
- magento2.2 - 如何在 Magento 2.2.8 的抽象类中覆盖受保护的函数