bgu*_*uiz 7 java orm persistence jpa
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)
);
Run Code Online (Sandbox Code Playgroud)
鉴于我使用上面的SQL语句创建了两个表,并且我想Entity
为它们创建类,对于类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;
Run Code Online (Sandbox Code Playgroud)
在课堂上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?
Run Code Online (Sandbox Code Playgroud)
它是一个必要或一个好主意,有一个相互@OneToMany
的@ManyToOne
?如果我现在做出设计决定而忽略了带@OneToMany
注释的属性,那会不会再次引起我的注意?
Pas*_*ent 12
为@ManyToOne提供互惠的@OneToMany是必要的还是个好主意?
不,它根本不是强制性的,这是一个纯粹的设计决定.整个问题是......你想要这个(即单向关联):
或者这个(即双向关联):
如果你不需要从A获得Bs,那么你可以跳过bs
属性和OneToMany
A侧.
如果我现在做出设计决定省略@OneToMany注释属性,那么我会再回过头来咬我.
不,如果您发现需要它,可以稍后添加.
归档时间: |
|
查看次数: |
2173 次 |
最近记录: |