原文鏈接
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name = "t_testa")
public class TestA implements Serializable
{
private static final long serialVersionUID = 5474359037731558807L;
@Id
@Column(name = "id", length = 36, nullable = false)
private String id = "";
@Column(name = "name", length = 50, nullable = false)
private String name = "";
@OneToOne(cascade = CascadeType.ALL, optional = false)
@JoinColumn(name = "testa_id", referencedColumnName = "testb_id") // 注意name和referencedColumnName的關係
private TestB testB = null;
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public TestB getTestB()
{
return testB;
}
public void setTestB(TestB testB)
{
this.testB = testB;
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TestA other = (TestA) obj;
if (id == null)
{
if (other.id != null)
return false;
}
else if (!id.equals(other.id))
return false;
return true;
}
}
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "t_testb")
public class TestB implements Serializable
{
private static final long serialVersionUID = -5227555122162835236L;
@Id
@Column(name = "id", length = 36, nullable = false)
private String id = "";
@Column(name = "name", length = 50, nullable = false)
private String name = "";
@Column(name = "testb_id", length = 36, nullable = false)
private String testb_id = "";
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getTestb_id()
{
return testb_id;
}
public void setTestb_id(String testbId)
{
testb_id = testbId;
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TestB other = (TestB) obj;
if (id == null)
{
if (other.id != null)
return false;
}
else if (!id.equals(other.id))
return false;
return true;
}
}