00:hibernate提供了两种一对一关联关系的方式,按照外键映射和按照主键映射.
01.(1)保存员工档案的同时分配给员工一个账号..
在映射持久化对象中的属性时,需要注意一些问题
Resume1.hbm.xml
<many-to-many
name="users1"
class="cn.happy.entity.Users1"
column="resuserid"
cascade="all" //为了
unique="true" //表明每一个resume1对象和User1对象之间一对一的关联关系
/>
Users1.hbm.xml
<one-to-one name="resume1"
class="cn.happy.entity.User"
property-ref="users1" //表明Resume1的user1属性建立了从User1对象到Resume1对象的关联
/>
Test代码
package cn.happy.test;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import cn.happy.entity.Resume1;
import cn.happy.entity.Users1;
import cn.happy.util.HibernateUtil;
public class MyTest {
Session session;
Transaction tx;
@Before
public void initDate(){
session=HibernateUtil.getSession();
tx=session.beginTransaction();
}
@After
public void afterDate(){
tx.commit();
HibernateUtil.closeSession();
}
@Test
public void addTest(){
//构建档案
Resume1 resume1 =new Resume1(3,"张三","21000302123165456");
//构建用户,不需要提供主键,因为user2对象和resume2对象共同用一个oid
Users1 users1 =new Users1("zhangsan","123456");
resume1.setUsers1(users1);
users1.setResume1(resume1);
session.save(resume1);
}
@Test
public void getoneTest(){
Resume1 resume1=(Resume1)session.load(Resume1.class, 1);
Users1 users1 =resume1.getUsers1();
System.out.println("姓名:"+resume1.getResname());
System.out.println("用户名"+users1.getUsername());
}
}
来源:https://www.cnblogs.com/myhome-1/p/5842437.html