数据库是MYSQL5.0
  报错代码:
16:25:21,915  WARN JDBCExceptionReporter:71 - SQL Error: 1452, SQLState: 23000
16:25:21,918 ERROR JDBCExceptionReporter:72 - Cannot add or update a child row: a foreign key constraint fails (`xa00053/t_discussion`, CONSTRAINT `FKE7807CD362B8682A` FOREIGN KEY (`threamid`) REFERENCES `t_postsale` (`id`))
16:25:21,946  WARN RequestProcessor:528 - Unhandled Exception thrown: class org.springframework.dao.DataIntegrityViolationException代码:
 PostSale Model类
 
public class PostSale {
private int id;
private String threamname;
private String info;
private String createDate;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getThreamname() {
return threamname;
}
public void setThreamname(String threamname) {
this.threamname = threamname;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}

解决方案 »

  1.   

    Discussion类代码:package com.xghj.model;public class Discussion {
    private int id;
    private String name;
    private String info;
    private String createDate;
    private PostSale postSale; public int getId() {
    return id;
    } public void setId(int id) {
    this.id = id;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public String getInfo() {
    return info;
    } public void setInfo(String info) {
    this.info = info;
    } public String getCreateDate() {
    return createDate;
    } public void setCreateDate(String createDate) {
    this.createDate = createDate;
    } public PostSale getPostSale() {
    return postSale;
    } public void setPostSale(PostSale postSale) {
    this.postSale = postSale;
    }
    }配置文件:
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="com.xghj.model"> <class name="Discussion" table="t_discussion">
    <id name="id">
    <generator class="native" />
    </id>
    <property name="name" />
    <property name="info" length="800" not-null="true" />
    <property name="createDate" />
    <many-to-one name="postSale" column="threamid" />
    </class></hibernate-mapping>
      

  2.   

    违反外键约束
    你要插入或者更新的Discussion的threamid的值在postsale里不存在