在我的 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
注释User
。User
另一方面使用@JoinColumn(name = "userID",referencedColumnName = "userID")
overloginCredential
字段定义那些实体之间的映射,因此 的值mappedBy
。
添加回答
举报
0/150
提交
取消