首先新建两张表:person(id,name)和perauthor(id,alias)表,其中,person的ID为主键,perauthor的ID为既为主键也为外键
person文件:
package
org.onetoone;
import java.util.HashSet;
import java.util.Set;
/** */ /**
* Person generated by MyEclipse - Hibernate Tools
*/
public class Person implements java.io.Serializable ... {
// Fields
private String id;
private String name;
private Perauthor perauthor;
// Constructors
/** *//** default constructor */
public Person() ...{
}
/** *//** minimal constructor */
public Person(String name) ...{
this.name = name;
}
/** *//** full constructor */
// Property accessors
public String getId() ...{
return this.id;
}
public void setId(String id) ...{
this.id = id;
}
public String getName() ...{
return this.name;
}
public void setName(String name) ...{
this.name = name;
}
public Perauthor getPerauthor() ...{
return perauthor;
}
public void setPerauthor(Perauthor perauthor) ...{
this.perauthor = perauthor;
}
}
import java.util.HashSet;
import java.util.Set;
/** */ /**
* Person generated by MyEclipse - Hibernate Tools
*/
public class Person implements java.io.Serializable ... {
// Fields
private String id;
private String name;
private Perauthor perauthor;
// Constructors
/** *//** default constructor */
public Person() ...{
}
/** *//** minimal constructor */
public Person(String name) ...{
this.name = name;
}
/** *//** full constructor */
// Property accessors
public String getId() ...{
return this.id;
}
public void setId(String id) ...{
this.id = id;
}
public String getName() ...{
return this.name;
}
public void setName(String name) ...{
this.name = name;
}
public Perauthor getPerauthor() ...{
return perauthor;
}
public void setPerauthor(Perauthor perauthor) ...{
this.perauthor = perauthor;
}
}
Perauthor.java文件
package
org.onetoone;
/** */ /**
* Perauthor generated by MyEclipse - Hibernate Tools
*/
public class Perauthor implements java.io.Serializable ... {
// Fields
private String id;
private Person person;
private String alias;
// Constructors
/** *//** default constructor */
public Perauthor() ...{
}
/** *//** full constructor */
public Perauthor(Person person, String alias) ...{
this.person = person;
this.alias = alias;
}
// Property accessors
public String getId() ...{
return this.id;
}
public void setId(String id) ...{
this.id = id;
}
public Person getPerson() ...{
return this.person;
}
public void setPerson(Person person) ...{
this.person = person;
}
public String getAlias() ...{
return this.alias;
}
public void setAlias(String alias) ...{
this.alias = alias;
}
}
/** */ /**
* Perauthor generated by MyEclipse - Hibernate Tools
*/
public class Perauthor implements java.io.Serializable ... {
// Fields
private String id;
private Person person;
private String alias;
// Constructors
/** *//** default constructor */
public Perauthor() ...{
}
/** *//** full constructor */
public Perauthor(Person person, String alias) ...{
this.person = person;
this.alias = alias;
}
// Property accessors
public String getId() ...{
return this.id;
}
public void setId(String id) ...{
this.id = id;
}
public Person getPerson() ...{
return this.person;
}
public void setPerson(Person person) ...{
this.person = person;
}
public String getAlias() ...{
return this.alias;
}
public void setAlias(String alias) ...{
this.alias = alias;
}
}
person.hmb.xml文件:
<? 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" >
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
< hibernate-mapping >
< class name ="org.onetoone.Person" table ="PERSON" schema ="SYSTEM" >
< id name ="id" type ="java.lang.String" >
< column name ="ID" length ="10" />
< generator class ="assigned" />
</ id >
< property name ="name" type ="java.lang.String" >
< column name ="NAME" length ="50" not-null ="true" />
</ property >
< one-to-one name ="perauthor" class ="org.onetoone.Perauthor" cascade ="all" /> //cascade为级联
</ class >
</ hibernate-mapping >
perauthor.hbm.xml文件
<?
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" >
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
< hibernate-mapping >
< class name ="org.onetoone.Perauthor" table ="PERAUTHOR" schema ="SYSTEM" >
< id name ="id" type ="java.lang.String" >
< column name ="ID" length ="10" />
< generator class ="foreign" >
< param name ="property" > person </ param >
</ generator >
</ id >
< one-to-one name ="person" class ="org.onetoone.Person" cascade ="all" />
< property name ="alias" type ="java.lang.String" >
< column name ="ALIAS" length ="50" not-null ="true" />
</ property >
</ class >
</ hibernate-mapping >
<! DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
< hibernate-mapping >
< class name ="org.onetoone.Perauthor" table ="PERAUTHOR" schema ="SYSTEM" >
< id name ="id" type ="java.lang.String" >
< column name ="ID" length ="10" />
< generator class ="foreign" >
< param name ="property" > person </ param >
</ generator >
</ id >
< one-to-one name ="person" class ="org.onetoone.Person" cascade ="all" />
< property name ="alias" type ="java.lang.String" >
< column name ="ALIAS" length ="50" not-null ="true" />
</ property >
</ class >
</ hibernate-mapping >