怎样做机械租赁的网站,wordpress什么主题好用,买了dede模板之后就可以做网站,用phpmysql做网站今天遇到一个问题#xff0c;在使用Spring Data JPA一对多关联时候保存到数据库#xff0c;数据都保存了#xff0c;但是外键的值为空#xff01;
原因#xff1a;实体类配置关联关系后还要在保存的时候体现出关联性。
实体类#xff1a;
package com.zzg.entity;impo…今天遇到一个问题在使用Spring Data JPA一对多关联时候保存到数据库数据都保存了但是外键的值为空
原因实体类配置关联关系后还要在保存的时候体现出关联性。
实体类
package com.zzg.entity;import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;Entity
Table(name author)
Data // 自动生成get、set、toString、equals方法
AllArgsConstructor // 全参构造方法
NoArgsConstructor // 无参构造方法
Accessors(chain true) // 链式编程
public class Author {Id // 主键GeneratedValue(strategy GenerationType.IDENTITY) // 自增长策略private Long id; //idColumn(nullable false, length 20)private String name;//姓名//JoinColumn(name author_id)//级联保存、更新、删除、刷新;延迟加载。当删除用户会级联删除该用户的所有文章//拥有mappedBy注解的实体类为关系被维护端//mappedByauthor中的author是Article中的author属性OneToMany(mappedBy author,cascadeCascadeType.ALL,fetchFetchType.EAGER)private ListArticle articleList;//文章列表}package com.zzg.entity;import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;Entity
Table(name article)
Setter
Getter
EqualsAndHashCode// 自动生成get、set、toString、equals方法
AllArgsConstructor // 全参构造方法
NoArgsConstructor // 无参构造方法
Accessors(chain true) // 链式编程
public class Article {IdGeneratedValue(strategy GenerationType.IDENTITY) // 自增长策略private Long id;Column(nullable false, length 50) // 映射为字段值不能为空private String title;Column(nullable false) // 映射为字段值不能为空private String content;//文章全文内容//可选属性optionalfalse,表示author不能为空。删除文章不影响用户ManyToOne(cascade{CascadeType.MERGE,CascadeType.REFRESH},optionalfalse)JoinColumn(nameauthor_id)//设置在article表中的关联字段(外键)private Author author;//所属作者Overridepublic String toString() {// TODO Auto-generated method stubreturn Article{ idid};}
}测试功能代码
Testpublic void insertOneToMany(){Author author new Author();author.setName(周晨曦);ListArticle list new ArrayListArticle();for(int i 0; i10; i ){Article article new Article();article.setTitle(标题: i);article.setContent(内容: i);// 记住一定要添加关系实体对象否在关联字段为nullarticle.setAuthor(author);list.add(article);}author.setArticleList(list);authorRepository.save(author);}