最近刚学hibernate,对many-to-one映射不是很了解,之前最困惑的地方时外键的配置,于是自己动手写了一个,其中有许多问题但是还是希望对大家有用。
one的实体类Client:
package fjnu.fund.web.domain;
import java.sql.Date;
public class Client {
private String Id_Card_No;
private String Client_Name;
private char Sex;
private String phone;
private String Address;
private String Email;
private String Hobby;
private Date Created_Date;
public String getId_Card_No() {
return Id_Card_No;
}
public void setId_Card_No(String id_Card_No) {
Id_Card_No = id_Card_No;
}
public String getClient_Name() {
return Client_Name;
}
public void setClient_Name(String client_Name) {
Client_Name = client_Name;
}
public char getSex() {
return Sex;
}
public void setSex(char sex) {
Sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
public String getHobby() {
return Hobby;
}
public void setHobby(String hobby) {
Hobby = hobby;
}
public Date getCreated_Date() {
return Created_Date;
}
public void setCreated_Date(Date created_Date) {
Created_Date = created_Date;
}
}
package fjnu.fund.web.domain;
import java.sql.Date;
public class Financial_Account {
private int Acc_No;
private String Acc_Pwd;
private float Acc_Amount;
private char Acc_Status;
private Client Client;
public Client getClient() {
return Client;
}
public void setClient(Client client) {
Client = client;
}
private Date Created_Date;
public int getAcc_No() {
return Acc_No;
}
public void setAcc_No(int acc_No) {
Acc_No = acc_No;
}
public String getAcc_Pwd() {
return Acc_Pwd;
}
public void setAcc_Pwd(String acc_Pwd) {
this.Acc_Pwd = acc_Pwd;
}
public float getAcc_Amount() {
return Acc_Amount;
}
public void setAcc_Amount(float acc_Amount) {
Acc_Amount = acc_Amount;
}
public char getAcc_Status() {
return Acc_Status;
}
public void setAcc_Status(char acc_Status) {
Acc_Status = acc_Status;
}
public Date getCreated_Date() {
return Created_Date;
}
public void setCreated_Date(Date created_Date) {
Created_Date = created_Date;
}
}
在many的一方配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="fjnu.fund.web.domain">
<class name="Financial_Account" table="tbl_Financial_Account">
<id name="Acc_No" column="FA_Acc_No">
<generator class="identity"/>
</id>
<property name="Acc_Pwd" column="FA_Acc_Pwd" not-null="true" />
<property name="Acc_Amount" column="FA_Acc_Amount" not-null="true"/>
<property name="Acc_Status" column="FA_Acc_Status" not-null="true"/>
<property name="Created_Date" column="FA_Created_Date" not-null="true"/>
<many-to-one name="Client" column="Client_Id_Card_No" class="fjnu.fund.web.domain.Client" cascade="all" fetch="select"/>
</class>
</hibernate-mapping>