主表:
@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;
一对多子表不用注释加载方式

解决方案 »

  1.   

    楼主你的代码很有问题啊, // @SuppressWarnings("unchecked")嘛意思   这个不用管,为了去掉项目中的! 叹号    
     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试试吧,最后问一句你是天津的吗