Create Table A (
ID varchar(8),
Primary Key(ID)
);
Create Table B (
ID varchar(8),
A_ID varchar(8),
Primary Key(ID),
Foreign Key(A_ID) References A(ID)
);
假设我已经使用上面的SQL语句创建了两个表,我想为它们创建实体
类。对于类B
,我有以下成员属性:
@Id
@Column(name = "ID", nullable = false, length = 8)
private String id;
@JoinColumn(name = "A_ID", referencedColumnName = "ID", nullable = false)
@ManyToOne(optional = false)
private A AId;
在 A
类中,我需要对多对一关系进行反向操作吗?
@Id
@Column(name = "ID", nullable = false, length = 8)
private String id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "AId")
private List<B> BList; //<-- Is this attribute necessary?
是否有必要或者是一个好主意为@ManyToOne
创建一个对等的@OneToMany
关系?如果我现在决定不使用@OneToMany
注释属性,那么以后会不会影响到我?
cascade
属性,您可以在删除父实体时自动删除子实体(在@ManyToOne侧)。 - Maurice