主表:
@JsonIgnore//json转换时忽略该属性
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)//懒加载,所有操作级联
@JoinColumn(name = "testId")//外键名(你的应该是主表的主键吧)
private Set<PubRequest> pubRequests = new HashSet<PubRequest>(); //考试请求表子表:
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })//级联保存、级联更新
@JoinColumn(name = "testId")
private PubTest pubtest;
一对多子表不用注释加载方式
@JsonIgnore//json转换时忽略该属性
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)//懒加载,所有操作级联
@JoinColumn(name = "testId")//外键名(你的应该是主表的主键吧)
private Set<PubRequest> pubRequests = new HashSet<PubRequest>(); //考试请求表子表:
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })//级联保存、级联更新
@JoinColumn(name = "testId")
private PubTest pubtest;
一对多子表不用注释加载方式
fetch=FetchType.LAZY这个不用写 @OneToMany默认的就是LAZY,
@ManyToOne默认的是FetchType.EAGER如果写上@OneToMany(fetch = FetchType.LAZY很可能出问题
如果用@OneToMany显示懒加载异常可以改成fetch=FetchType.EAGER
你的最后几行代码
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="testId",nullable=false)
private PubTest pubtest; //考试信息
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="userId",nullable=false)
nullable=false是普通属性用的,不是用在这里,把最后两个fetch=FetchType.LAZY改成fetch=FetchType.EAGER试试吧,最后问一句你是天津的吗