为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot - h2数据库中的外键问题

Spring Boot - h2数据库中的外键问题

jeck猫 2023-06-21 14:59:42
在我的 Spring Boot 应用程序中,我有User这样的类:public class User {@Id @GeneratedValue Long userID;@OneToOne(fetch = FetchType.LAZY,targetEntity = LoginCredential.class)@JoinColumn(name = "userID",referencedColumnName = "userID")private LoginCredential loginCredential;}另一个类LoginCreadential是这样的:public class LoginCredential {@Id @GeneratedValue Long userID;@OneToOne(mappedBy = "user", fetch = FetchType.LAZY)User user;}在我尝试添加这些关系之前,我的应用程序运行良好。现在它不运行。它给了我错误(很多),但重要的部分在这里:org.hibernate.AnnotationException:未知 mappedBy in:com.mua.cse616.Model.LoginCredential.user,引用属性未知:com.mua.cse616.Model.User.user这里的错误是什么?如何解决?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

这是因为mappedBy必须有一个值,该值是包含这些实体之间映射的字段的名称。

在您的示例中,这应该是mappedBy = "loginCredential",因为@OneToOne包含mappedBy注释UserUser另一方面使用@JoinColumn(name = "userID",referencedColumnName = "userID")overloginCredential字段定义那些实体之间的映射,因此 的值mappedBy


查看完整回答
反对 回复 2023-06-21
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信