1.一对一
由于,配置很多,只做demo,具体实际需求,看个人配置
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="s4_table_Name",referencedColumnName="s4_table_Name")
private S4TableData tableData;
name指,当前表内,指向S4TableData的表的关联字段,需要定义在本表里,不能和其他column名字相同
referencedColumnName指定是S4TableData的表的关联字段的column名称,用于对应
cascade级联操作:一个PO对象A 关联 另一个PO对象B,当A进行操作时,是否对B进行相应的操作。
- all: 所有情况下均进行关联操作,即save-update和delete。
- none: 所有情况下均不进行关联操作。这是默认值。
- save-update: 在执行save/update/saveOrUpdate时进行关联操作。
- delete: 在执行delete 时进行关联操作。
- all-delete-orphan: 当一个节点在对象图中成为孤儿节点时,删除该节点。
2.一对多
@OneToMany(fetch=FetchType.EAGER)
@JoinTable(name="x4_columns",joinColumns={@JoinColumn(name="x4_column_name")}
,inverseJoinColumns={@JoinColumn(name="x4_table_Name")})
private Set<X4ColumnData> x4ColumnDataSet;
此方法只在一个类中配置,配置内容的意思是生成一个关系表
name是关系表的名称,joincolumns是当前类配置表的字段名,inverseJoinColumns是关系类表的字段名,ps:这种方式,不用配置另一个类