SpringDataJpa多表操作的实现_第1页
SpringDataJpa多表操作的实现_第2页
SpringDataJpa多表操作的实现_第3页
SpringDataJpa多表操作的实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第SpringDataJpa多表操作的实现//数据获取方式EAGER(立即加载)/LAZY(延迟加载)

FetchTypefetch()defaultFetchType.EAGER;

h()defaultEAGER;//是否允许为空

booleanoptional()defaulttrue;

//关联关系被谁维护的。非必填,一般不需要特别指定。//注意:只有关系维护方才能操作两者的关系。被维护方即使设置了维护方属性进行存储也不会更新外键关联。1)mappedBy不能与@JoinColumn或者@JoinTable同时使用。2)mappedBy的值是指另一方的实体里面属性的字段,而不是数据库字段,也不是实体的对象的名字。既是另一方配置了@JoinColumn或者@JoinTable注解的属性的字段名称。

StringmappedBy()default"";

//是否级联删除。和CascadeType.REMOVE的效果一样。两种配置了一个就会自动级联删除

booleanorphanRemoval()defaultfalse;

用法@OneToOne需要配合@JoinColumn一起使用。

举个例子使用@OneToOne和@JoinColumn注解

分析一个学生对应一个班级,添加一个学生时同时添加班级

学生类

@Data

@Entity

publicclassStudent{

@GeneratedValue(strategy=GenerationType.IDENTITY)

privateIntegerid;

privateStringstudentName;

@OneToOne(cascade=CascadeType.PERSIST)

@JoinColumn(name="grade_id")

privateGradegrade;

班级类

@Data

@Entity

publicclassGrade{

@GeneratedValue(strategy=GenerationType.IDENTITY)

privateIntegerid;

privateStringgradeName;

/*@OneToOne(mappedBy="grade")

privateStudentstudent;*/

接口

publicinterfaceStudentRepositoryextendsJpaRepositoryStudent,Integer{

测试类

@Test

publicvoidtest1(){

Gradegrade=newGrade();

grade.setGradeName("一年级");

Studentstudent=newStudent();

student.setStudentName("张三");

student.setGrade(grade);

studentRepository.save(student);

测试结果

这两个数据我用的一个是配置了一方关联,只在Student类里配置了班级信息,还有一条是配置了双向关联,Grade类里边被注释掉的部分,具体使用哪个,根据具体的业务需求

@OneToMany一对多@ManyToOne多对一

@Target({ElementType.METHOD,ElementType.FIELD})

@Retention(RetentionPolicy.RUNTIME)

public@interfaceOneToMany{

ClasstargetEntity()defaultvoid.class;

//cascade级联操作策略:(CascadeType.PERSIST、CascadeType.REMOVE、CascadeType.REFRESH、CascadeType.MERGE、CascadeType.ALL)

CascadeType[]cascade()default{};

//数据获取方式EAGER(立即加载)/LAZY(延迟加载)

FetchTypefetch()defaultFetchType.LAZY;

//关系被谁维护,单项的。注意:只有关系维护方才能操作两者的关系。

StringmappedBy()de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论