如何用注解实现not-null="true"
插入数据,主键都是自动生成用配置文件没有问题,改用注解方式就出错;求教各位大神,哪里有问题主表:@Id@GeneratedValue(strategy=Generatio...
插入数据,主键都是自动生成
用配置文件没有问题,改用注解方式就出错;求教各位大神,哪里有问题
主表:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public int getPeopleid() {
return peopleid;
}
@OneToMany(fetch=FetchType.EAGER,targetEntity=EducationExperience.class,cascade={CascadeType.ALL},orphanRemoval=true)//cascade={CascadeType.ALL},
@JoinColumn(name="wj_resume_id")
public List<EducationExperience> getListEdu() {
return listEdu;
}
从表:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public int getEducation_id() {
return education_id;
}
@ManyToOne(targetEntity=Resume.class,fetch = FetchType.EAGER, optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name="wj_resume_id",referencedColumnName="peopleid", insertable=true, updatable=true)
public Resume getResume() {
return resume;
}
报错:org.hibernate.PropertyValueException: not-null property references a null or transient value : com.test.domain.EducationExperience.resume 展开
用配置文件没有问题,改用注解方式就出错;求教各位大神,哪里有问题
主表:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public int getPeopleid() {
return peopleid;
}
@OneToMany(fetch=FetchType.EAGER,targetEntity=EducationExperience.class,cascade={CascadeType.ALL},orphanRemoval=true)//cascade={CascadeType.ALL},
@JoinColumn(name="wj_resume_id")
public List<EducationExperience> getListEdu() {
return listEdu;
}
从表:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public int getEducation_id() {
return education_id;
}
@ManyToOne(targetEntity=Resume.class,fetch = FetchType.EAGER, optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name="wj_resume_id",referencedColumnName="peopleid", insertable=true, updatable=true)
public Resume getResume() {
return resume;
}
报错:org.hibernate.PropertyValueException: not-null property references a null or transient value : com.test.domain.EducationExperience.resume 展开
2个回答
2016-06-21
展开全部
主要问题在于不同的Annotation的拦截是不同的。 例如method级别的拦截。我们可以通过getMethodAnnotation(Class)的获取annotation。如果没有设置annotation,获取为空。
举个例子:
// 这里判断是否拦截方法
if(!(handler instanceof HandlerMethod)){
return true;
}
HandlerMethod method = (HandlerMethod)handler;
//这里获取了一个Menu的annotation。
Menu sm = method.getMethodAnnotation(Menu.class);
if(sm!=null){ //如果确实设置了Menu的annotation,就会进入此区域。
举个例子:
// 这里判断是否拦截方法
if(!(handler instanceof HandlerMethod)){
return true;
}
HandlerMethod method = (HandlerMethod)handler;
//这里获取了一个Menu的annotation。
Menu sm = method.getMethodAnnotation(Menu.class);
if(sm!=null){ //如果确实设置了Menu的annotation,就会进入此区域。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询