使用Spring和Hibernate,我可以在自引用类的父级/子级和另一个类之间实现一对多关系。也就是说,这是自引用类:
D B:
CREATE TABLE `employee` (
`employee_id` BIGINT(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
`manager_id` BIGINT(20) NULL DEFAULT NULL,
PRIMARY KEY (`employee_id`),
CONSTRAINT `FK_MANAGER` FOREIGN KEY (`manager_id`) REFERENCES `employee`
(`employee_id`))
模型:
@Entity
@Table(name="employee")
public class Employee {
@Id
@Column(name="employee_id")
@GeneratedValue
private Long employeeId;
@Column(name="name")
private String name;
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="manager_id")
private Employee manager;
@OneToMany(mappedBy="manager")
private Set<Employee> employee = new HashSet<Employee>();
现在,我想为父母/孩子(经理/雇员)和另一个这样的类创建一对多的关系:
@OneToMany(mappedBy="manager")
private List<Course> course = new ArrayList<Course>();
@OneToMany(mappedBy="lecturer")
private List<Course> courses = new ArrayList<Course>();
因此,经理和员工都将与一个或多个课程相关联。课程课程:
@Entity
@Table(name = "courses")
@Component
public class Course implements Serializable
@ManyToOne
@JoinColumn(name="employee_id", insertable=false, updatable=false)
private Employee employee;
@ManyToOne
@JoinColumn(name="manager_id", insertable=false, updatable=false)
private Employee manager;
这是我要实现的内容的概述,但我想知道这是否可能,如果可以,如何在数据库关系中进行设置,并能够通过hibernate将关系保存到数据库。
@OneToMany(mappedBy="manager")
private List<Course> managedCourses = new ArrayList<Course>();
@OneToMany(mappedBy="lecturer")
private List<Course> lectuedCourses = new ArrayList<Course>();
…
@Entity
@Table(name = "courses")
@Component
public class Course implements Serializable
@ManyToOne
@JoinColumn(name="lecturer_id", insertable=false, updatable=false)
private Employee lecturer;
@ManyToOne
@JoinColumn(name="manager_id", insertable=false, updatable=false)
private Employee manager;
问题内容: 有两个SQL表: 我想用单个查询从Parents表中选择每一行,并从Childs表中为具有关系“ parent”-“ id”值和最大“ feature”列值的每一行选择一个查询。在此示例中,结果应为: 其中p =父表,c =子表 我试图离开外部联接和GROUP BY,但是MSSQL Express告诉我,使用GROUP BY进行查询需要在每个非Groupped字段上使用聚合函数。而且我
问题内容: 我正在学习SQL,并具有一些类似于以下内容的表: (*表示主键,如果是Customer和Employee,则既是PK又是返回给Person的FK) Customer和Employee都是Person的类型,我想确保在将记录插入Person时,也必须将记录插入EITHER Customer或Employee,但不能同时插入两者。在此示例的限制范围内,人员不能同时是雇员和客户。 有人告诉我
问题内容: 我在 MySQL中* 有如下的 注释 表: * 用户可以添加 新的 注释,因为它们不是其他注释的子对象,所以将没有parent_id。用户还可以 回复 通过先前方法添加的评论,因此它们是主要评论的子级,例如在第二层级上。该 PARENT_ID 列表示父评论的ID,如果存在的话。如果注释没有父母,则默认 parent_id 为-1。 话虽如此,我想查询表中的所有注释,每个父项后跟其子级,
问题内容: 我有一张桌子 领域的意义: site_Id:网站的ID parent_Id:站点的父ID site_desc:尽管与问题无关,但是具有站点的描述 要求是,如果我有一个site_id作为输入,并且需要该网站下方标记的所有ID。例如: 所有节点都是site_Id。 该表包含如下数据: ...... A是B和C的父代,依此类推。 如果B是给定的输入,则查询需要获取D,E,I,F,J 目前,它
问题内容: 我有一个这样的表: 我想创建一个有序的表单,如下所示: 在数据库中,有很多书,而不仅仅是一本书。 有没有办法以这种方式对查询“ SELECT”进行排序?这只是一个表面问题,不需要做多维数组之类的事情,因为我可以在标签上贴上它们的类型,然后根据类型更改它们的外观。但是我需要以正确的顺序查找查询。 PD:对不起,我的英语:S 问题答案: 不要以为数据库是个好主意。查询将很难。Imo更好-您
实现一对多关系并选择父项和子项我有一个关系,我想进行查询(选择*) 文件夹。JAVA 作者。JAVA 我的请求: 我得到了这样的结果: 我的代码有什么问题?什么是问题,当我执行查询我得到了这个结果...我想得到这个结果