0

我不确定这是否可以在 Spring 3 框架中使用 hibernate 和 mysql 完成,但我将不胜感激。我有两个班级——员工和考官。考官是员工,员工也是考官。同时每位考官可以考查一名或多名员工,一名员工只能有一名考官。

基本上我想知道的是是否可以显示 Employee 和 Examiner 之间的继承,同时将一个单向的一对多从 Examiner 映射到 Employee?

到目前为止我所拥有的 - 具有继承约束的 Examiner 表:

CREATE TABLE `examiner` (
`employee_id` varchar(255) NOT NULL,
`employee_name` varchar(255) NOT NULL,
 PRIMARY KEY (`enployee_id`),
 FOREIGN KEY (`employee_id`) REFERENCES `employee` (`employee_id`)): 

员工表:

 CREATE TABLE `employee` (
`employee_id` varchar(255) NOT NULL,
`employee_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`employee_id`)):

我正在考虑使用连接表来显示一对多行为,但是由于我有一个 primarykeyjoin 列,因此无法为该表获取一个复合键。

我将不胜感激任何帮助,因为我已经被难住了好几天。

4

2 回答 2

0

Java 不允许多重继承,因此除非您使用接口,否则我不确定您打算如何使两个描述的类相互实例化。

您可以只创建一个名为 EmployeeExaminer 的类,并使其引用自身。使用注释它可能看起来像:

@Entity
public class EmployeeExaminer {
  @ManyToOne
  private EmployeeExaminer getExaminer() {/*...*/}

  @OneToMany
  private List<EmployeeExaminer> getEmployees() { /*...*/}
}

可以在此处找到有关注释的文档。

于 2013-04-09T14:33:07.407 回答
-1

感谢@CodeChimp 的回复。我最终遵循了第一个建议,并使用 @onetomany 和 @manytoone 注释创建了一个自我引用类。它的助手类有效。我只是在实现控制器和jsp页面以添加父/子时遇到一些问题。但我会为此提出一个新问题。再次感谢。

于 2013-04-20T13:58:28.573 回答