论坛首页 Java企业应用论坛

OneToOne ShareKey

浏览 1962 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-01  
Hibernate OneToOne ShareKey的例子

@Entity
public class OneToOneParent {
	
	private Long id;
	private String age = null;	
	private OneToOneChild child= null;	
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	public Long getId() { return id; }
	
	public void setId(Long id) {
		this.id = id;
	}
	
	@OneToOne(cascade = CascadeType.ALL)
	@PrimaryKeyJoinColumn
	public OneToOneChild getChild() {
		return child;
	}

	public void setChild(OneToOneChild child) {
		this.child = child;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

}

@Entity
public class OneToOneChild {

	private Long id;
	private String address = null;
	private OneToOneParent parent;
	
	public void setId(Long id) {
		this.id = id;
	}
 
	@Id
	@Column(name = "ID", nullable = false) 
	@GeneratedValue(generator = "foreign")
	@GenericGenerator(name = "foreign", strategy = "foreign", parameters = { @Parameter(name = "property", value = "parent") })	public Long getId() { return id; }

	@OneToOne(cascade = {CascadeType.ALL} , mappedBy="child")
	public OneToOneParent getParent() {
		return parent;
	}

	public void setParent(OneToOneParent parent) {
		this.parent = parent;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

}


    OneToOneParent parent = new OneToOneParent();
    parent.setAge("age1");
		
    OneToOneChild child = new OneToOneChild();
    child.setAddress("adress1");
		
    parent.setChild(child);		
    child.setParent(parent);
		
    commonService.save(parent);
    //commonService.save(child);

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics