Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

基于jpa的一对一的主键测试

来源: 卢水发 分享至:

人员表:一个人只能对应一个身份证

@Entity
@Table(name="bb_person")
public class Person implements Serializable
{
/**/
private static final long serialVersionUID = 1L;

private int personId;
private String personName;
private IdCard idcard = new IdCard();

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="person_id")
public int getPersonId()
{
return personId;
}

public void setPersonId(int personId)
{
this.personId = personId;
}

public String getPersonName()
{
return personName;
}

public void setPersonName(String personName)
{
this.personName = personName;
}

@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
public IdCard getIdcard()
{
return idcard;
}

public void setIdcard(IdCard idcard)
{
this.idcard = idcard;
}

}

身份证表:一个身份证只能对应一个人

@Entity
@Table(name="bb_idcard")
public class IdCard
{
private int cardId;
private String cardNo;
private Person person;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public int getCardId()
{
return cardId;
}

public void setCardId(int cardId)
{
this.cardId = cardId;
}

public String getCardNo()
{
return cardNo;
}

public void setCardNo(String cardNo)
{
this.cardNo = cardNo;
}

@OneToOne(mappedBy="idcard")
public Person getPerson()
{
return person;
}

public void setPerson(Person person)
{
this.person = person;
}
}
测试方法:

public class TestPerson
{
public PersonDao getPersonDao()
{
ApplicationContext ac = new ClassPathXmlApplicationContext("spring_lushuifa.xml");
return (PersonDao) ac.getBean("personDao");
}

@Test
public void addPersonAndIdCard()
{
Person person = new Person();
person.setPersonName("张三");
person.getIdcard().setCardNo("3602222222222222");
System.out.println("测试对象是否有用:"+person);
this.getPersonDao().addPerson(person);
}
}


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史