作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这就是我的 SQL 表的样子:
CREATE TABLE IF NOT EXISTS `test`.`Families` (
`id` INT NOT NULL AUTO_INCREMENT,
`mother_id` INT DEFAULT NULL ,
`father_id` INT DEFAULT NULL ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `test`.`Parents` (
`id` INT NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(50) DEFAULT NULL,
`last_name` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
这就是我的家庭实体的样子:
@Entity
@Table(name="Families")
public class Family implements Serializable {
@Id
@Column(name="id")
private String id;
@Column(name="mother_id")
private int mother;
@Column(name="father_id")
private int father;
}
这很棒,但如果我能做这样的事情,我真的很喜欢(注意我也已经定义了一个父实体):
@Entity
@Table(name="Families")
public class Family implements Serializable {
@Id
@Column(name="id")
private String id;
@OneToOne
@Column(name="mother_id")
private Parent mother;
@OneToOne
@Column(name="father_id")
private Parent father;
}
我怎样才能做到这一点?
最佳答案
实际上,Hibernate 会为您做所有事情。
@Column
来注释已经具有 @OneToOne
或其他关联注释的列field
+ _id
组成)以外的其他键,则应使用 @JoinColumn
注释@Entity
@Table(name="Families")
public class Family implements Serializable {
@Id
@Column(name="id")
private String id;
@OneToOne
@JoinColumn(name = "mother_idd")
private Parent mother;
@OneToOne
@JoinColumn(name = "father_idd")
private Parent father;
}
关于mysql - 如何将一个实体编码为另一个实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645886/
我是一名优秀的程序员,十分优秀!