JPA实现一对多(OneToMany)关联
2017-08-11 09:37
330 查看
JPA实现一对多(OneToMany)关联
(2012-10-29 20:18:58)
转载▼
标签:
| 分类: 技术备忘 |
1.考试类
@Entity
public classExam implementsSerializable
{
private static final long serialVersionUID=
1L;
@Id
@GeneratedValue
private Integer id;
private Integer paperId;
private Integer userId;
@Temporal(TemporalType.TIMESTAMP)
private Date startTime;
@Temporal(TemporalType.TIMESTAMP)
private Date endTime;
private Integer score;
private String remark;
private Integer status;
@OneToMany(cascade=CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy="exam")
private List<ExamUserAns> listExamUserAns= newArrayList<ExamUserAns>();
//get
and set method here ……
}
Cas
fcad
cade 级联操作
CascadeType. PERSIST 级联持久化 ( 保存 ) 操作
CascadeType. MERGE 级联更新 ( 合并 ) 操作
CascadeType. REFRESH 级联刷新操作,只会查询获取操作
CascadeType. REMOVE 级联删除操作
CascadeType. ALL 级联以上全部操作
Fetch 抓取是否延迟加载,默认情况一的方为立即加载,多的一方为延迟加载
mappedBy 关系维护
mappedBy= "exam" 表示在ExamUserAns 类中的 exam 属性来维护关系,这个名称必须和ExamUserAns中的exam属性名称完全一致才行。
另外需要注意,Exam类中的集合类型必须是List或者Set,不能设置为ArrayList,否则会报错
Illegal attempt to map a non collection as…
2.考试答案类
@Entity
public class ExamUserAns implements Serializable
{
private static final long serialVersionUID =
1L;
@Id
@GeneratedValue
private Integer id;
private Integer questionId;
private String answer;
private Integer score;
private String remark;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="examId")
private Exam exam;
//get and set method here ……
}
3.数据持久化存储
需要注意的是,在持久化存储时,我们只需要对Exam类进行merge或者persist即可,JPA会自动将其集合关联类进行持久化存储,而不需要我们对ExamUserAns再执行persist方法,但是我们需要设置examUserAns.setExam(exam)来维护这种关联。
相关文章推荐
- JPA实现一对多(OneToMany)关联
- JPA 、 @ManyToOne、@OneToMany 外键 关联 设置关联项为NULL的问题完美解决
- JPA OneToMany和ManyToOne单向实现
- JPA Onetomany注解外健关联项设为null
- JPA OneToMany双向关联
- JPA注解实现one-to-one的主键关联映射
- Ruby on Rails,一对多关联(One-to-Many)
- 关于在JPA中使用@OneToOne @OneToMany @ManyToOne @ManyToMany
- Hibernate 之many-to-one 单向多对一关联示例
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误
- 双向关联的oneTomany练习
- JPA关系映射系列五:many-to-many 关联表存在额外字段关系映射
- 在ORACLE中利用流复制实现many-to-one的复制
- Hibernate 、多表关联映射-多对一关系(many-to-one)
- JPA-oneToMany
- Spring Data JPA OneToMany中的级联保存
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误
- 用JoinColumn使用JPA的OneToMany不自动生成数据库表
- Spring boot data JPA数据库映射关系 : @OneToOne,@OneToMany,@ManyToMany
- JPA,在@OneToMany里加入mappedBy属性