single-page-application - oneToMany JPA 春天
问题描述
我试图链接两个错误,但我失败了
这是一个错误:mappedBy 引用了一个未知的目标实体属性:com.accounts.AllAccountsBase.proxies 中的 com.proxy.ProxyBase.proxy_server
第一个模型
@Data
@Entity
@Table(name = "all_accounts")
public class AllAccountsBase {
@Id
@Column(name = "login", nullable = false, unique = true)
private String login;
@Column(name = "password")
private String password;
@Column(name = "old_password")
private String oldPassword;
@Column(name = "phone")
private String phone;
@Column(name = "recovery_email")
private String recoveryEmail;
@Column(name = "recovery_pass")
private String recoveryPass;
@Column(name = "virt_machine")
private String machineName;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "personal_data_id")
private PersonalData personalData;
@Column(name = "account_status")
private Integer accountStatus;
@Column(name = "time_update")
private Timestamp timeUpdate;
@Column(name = "server_group")
private String serverGroup;
@Column(name = "server", nullable = false, unique = true)
private String server;
@OneToMany(
mappedBy = "proxy",
cascade = CascadeType.ALL,
fetch = FetchType.LAZY
)
private Collection<ProxyBase> proxies = new ArrayList<>();
}
在模型中,我添加了一对多的关系,反之亦然
第二个模型
@Data
@Entity
@Table(name = "proxy")
public class ProxyBase implements Serializable {
@Id
@Column(name = "server", nullable = false, unique = true)
private String server;
@Column(name = "proxy_data")
private String proxyData;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "all_accounts_server")
private AllAccountsBase allAccountsBase;
}
请帮忙
解决方案
我做了不同的事情:
@Data
@Entity
@Table(name = "proxy")
public class ProxyBase implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Column(name = "server", nullable = false)
private String server;
@Column(name = "proxy_data")
private String proxyData;
}
和
@Data
@Entity
@Table(name = "all_accounts")
public class AllAccountsBase implements Serializable {
@Id
@Column(name = "login", nullable = false, unique = true)
private String login;
@Column(name = "password")
private String password;
@Column(name = "old_password")
private String oldPassword;
@Column(name = "phone")
private String phone;
@Column(name = "recovery_email")
private String recoveryEmail;
@Column(name = "recovery_pass")
private String recoveryPass;
@Column(name = "virt_machine")
private String machineName;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "personal_data_id")
private PersonalData personalData;
@Column(name = "account_status")
private Integer accountStatus;
@Column(name = "time_update")
private Timestamp timeUpdate;
@Column(name = "server_group", nullable = false)
private String serverGroup;
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(
name = "proxy_key",
joinColumns = @JoinColumn(name = "server_group", referencedColumnName = "server_group"),
inverseJoinColumns = @JoinColumn(name = "proxy_server_group", referencedColumnName = "server"))
private Collection<ProxyBase> proxies = new ArrayList<>();
}
推荐阅读
- sql - 雪花,SQL where 子句
- api - 设计一个 REST API
- python - 循环下载多个音频文件失败(python)
- python - Spyder 5 缺少依赖项 - spyder_kernels 版本错误
- sql - 根据组计算不同的值
- c# - C# - 如何迭代 Excel._Worksheet 中的所有特定单元格?
- vue.js - 如何在 vue js 中重新启动其他 select2 组件?
- javascript - 在反应js中将函数从父母传递给孩子
- html - 在功能 js 的屏幕上查看打印结果
- python - 是否可以在不关闭 PySerial 端口的情况下更改端口设置?