67,513
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE `person_11pk` (
`personid` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`personid`),
CONSTRAINT `fk12344444` FOREIGN KEY (`personid`) REFERENCES `address_11pk` (`addressid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `address_11pk` (
`addressid` int(11) NOT NULL AUTO_INCREMENT,
`addressdetail` varchar(255) DEFAULT NULL,
PRIMARY KEY (`addressid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
package com.liuhao.hibernate4.demo.entity.onetoone.primary.oneway;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import org.apache.commons.lang3.builder.ToStringBuilder;
@Entity(name = "person_11pk")
public class Person11pk {
private int personid;
private String name;
private int age;
private Address11pk address11pk;
public Person11pk() {
}
public Person11pk(int personid, String name, int age,
Address11pk address11pk) {
super();
this.personid = personid;
this.name = name;
this.age = age;
this.address11pk = address11pk;
}
@Id
@GeneratedValue
public int getPersonid() {
return personid;
}
public void setPersonid(int personid) {
this.personid = personid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@OneToOne(optional = false)
@PrimaryKeyJoinColumn
public Address11pk getAddress11pk() {
return address11pk;
}
public void setAddress11pk(Address11pk address11pk) {
this.address11pk = address11pk;
}
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append("personid", personid);
builder.append("name", name);
builder.append("age", age);
builder.append("address11pk", address11pk);
return builder.toString();
}
}
package com.liuhao.hibernate4.demo.entity.onetoone.primary.oneway;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.apache.commons.lang3.builder.ToStringBuilder;
@Entity(name="address_11pk")
public class Address11pk {
private int addressid;
private String addressdetail;
public Address11pk() {
};
public Address11pk(int addressid, String addressdetail) {
super();
this.addressid = addressid;
this.addressdetail = addressdetail;
}
@Id
@GeneratedValue
public int getAddressid() {
return addressid;
}
public void setAddressid(int addressid) {
this.addressid = addressid;
}
public String getAddressdetail() {
return addressdetail;
}
public void setAddressdetail(String addressdetail) {
this.addressdetail = addressdetail;
}
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append("addressid", addressid);
builder.append("addressdetail", addressdetail);
return builder.toString();
}
}
Junit 测试
@Test
public void testSave() {
System.out.println("-------insert start---------");
session.beginTransaction();
Person11pk p1 = new Person11pk();
p1.setAge(21);
p1.setName("p1");
Address11pk add1 = new Address11pk();
add1.setAddressdetail("郑州市经三路");
add1.setAddressid(1);
p1.setPersonid(add1.getAddressid());
p1.setAddress11pk(add1);
//session.save(add1);
session.save(p1);
log.debug("address : " + add1 + "person :" + p1);
session.flush();
session.getTransaction().commit();
System.out.println("-------insert end---------");
}