【发布时间】:2018-07-04 11:14:09
【问题描述】:
我有两张表 Student 和 Student_Pseudo。
一个 Pseudo 可以归因于一个或多个 Student。
学生包含
* Student_code
* Student_login
Student_Pseudo 包含
* Stu_code
* Pseudo
Stu_code 是 Student_code 的外键
我想使用 @ManyToOne 关系在学生实体中获取 Pseudo,但它不起作用
@ManyToOne(optional = false)
@JoinColumn(name="STU_CODE", referencedColumnName="STUDENT_CODE", nullable=false)
private Pseudo pseudo;
当我得到学生时,Pseudo 始终为空!!!
【问题讨论】:
-
您的映射(或您的描述)错误:Student 中的连接列名为 STUDENT_CODE,而不是 STU_CODE。它在伪表中引用的列名为 STU_CODE,而不是 STUDENT_CODE。为什么首先会出现这种不一致的命名?你让自己的生活变得比应有的更艰难。
-
感谢您的回复。项目中的表格很旧,我无法更改它们。你的意思是我应该把 name="STUDENT_CODE", referencedColumnName="STU_CODE" ?
-
是的,我就是这个意思。
-
这样做我得到了一个错误堆栈。
-
@Samy 请用该错误更新您的问题
标签: java eclipselink jpa-2.0