Hibernate Annotation 基于连接表的单向一对多关联
?
趁着今晚把一对多一起搞了吧,呵呵。。
?
一对多的关联形式我就不说了,这个例子是基于连接表jointable的,不懂的参数可以看下 Hibernate Annotation Reference 。
?
sql脚本(附件)
package com.zyp.examples;import java.util.HashSet;import java.util.Set;import org.hibernate.Session;public class HibernateTest {public static void main(String[] args) {//级联添加//addByPerson();//级联删除deleteByPerson();}public static void deleteByPerson(){Session session = HibernateUtil.getSessionFactory().openSession();session.beginTransaction();session.delete(session.load(Person.class, new Integer(1)));session.getTransaction().commit();}public static void addByPerson(){Address a1 = new Address();a1.setItem("item1");Address a2 = new Address();a2.setItem("item2");Set<Address> address = new HashSet<Address>();address.add(a1);address.add(a2);Person p = new Person();p.setAge(10);p.setName("zhaoyunpeng");p.setAddress(address);Session session = HibernateUtil.getSessionFactory().openSession();session.beginTransaction();session.save(p);session.getTransaction().commit();}}?
基于连接表的关联查询,最主要的就是 @jointable 注解的参数配置,看名字就知道。
既然是基于jointable的,那么name肯定是连接表的名字,joincolumn肯定是一端的关联列,inverseJoinColumns肯定是多端在连接表中的关联列,就这么简单...
?
?
2012年8月17日0:25:36
?
?