日期:2014-05-17  浏览次数:20579 次

hibernate 一对一关系映射 级联删除问题
    我想问一下在hibernate,一对一关系映射能否进行级联删除,或者(单向外键,单向主键,双向外键,双向主键)中那些能进行级联删除?
    我写了一个一对一的双向外键关联的程序,为什么不能级联删除,具体代码如下
    
    有两张表Student和Address

    Address实体
    
package com.lh.entity;

public class Address {
private int id;
private String address_detil;
private Student student;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddress_detil() {
return address_detil;
}
public void setAddress_detil(String addressDetil) {
address_detil = addressDetil;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
}

    student实体
    
package com.lh.entity;

public class Student {
private int id;
private String name;
private Address address;

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 Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}

    address.hbm.xml
    
<?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.lh.entity">
<class name="Address">
<id name="id" column="address_id">
<generator class="native" />
</id>
<property name="address_detil"/>
<one-to-one name="student" property-ref="address" cascade="delete" />
</class>
</hibernate-mapping>

    student.hbm.xml
    
<?xml version="1.0"?>