public static void main(String[] args) {
// TODO Auto-generated method stub
Manager manager = new Manager();
if ( args[0].equals("po") ) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person p = new Person();
p.setBirthdate(new Date());
p.setSex('m');
p.setWeight(222);
session.save(p);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
} else if ( args[0].equals("asp") ) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List pList = session.createQuery("from Person").list();
for ( int i = 0; i < pList.size(); i ++ ) {
Person p = (Person)pList.get(i);
Address a = new Address();
a.setName("addressNameasp");
a.setPerson(p);
//p.addAddress(a);
session.save(a);
//session.save(p);
}
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
} else if ( args[0].equals("psa") ) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List pList = session.createQuery("from Person").list();
for ( int i = 0; i < pList.size(); i ++ ) {
Person p = (Person)pList.get(i);
Address a = new Address();
a.setName("addressNamepsa");
//a.setPerson(p);
p.addAddress(a);
//session.save(a);
session.save(p);
}
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
} else if ( args[0].equals("listp") ) {
List list = manager.getPerson();
for ( int i = 0; i < list.size(); i ++ ) {
Person p = (Person)list.get(i);
System.out.println("p.getId()="+p.getId());
}
} else if ( args[0].equals("lista") ) {
List list = manager.getAddress();
for ( int i = 0; i < list.size(); i ++ ) {
Address a = (Address)list.get(i);
System.out.println("a.getId()="+a.getId()+"=a.getPerson().getId()="+a.getPerson().getId());
}
} else if ( args[0].equals("listpa") ) {
List list = manager.getPerson();
for ( int i = 0; i < list.size(); i ++ ) {
Person p = (Person)list.get(i);
System.out.println("p.getId()="+p.getId());
List al = manager.getAddress(p);
for ( int j = 0; j < al.size(); j ++ ) {
Address a = (Address)al.get(j);
System.out.println("p.getId()="+p.getId()+"-a.getId()="+a.getId());
}
}
} else if ( args[0].equals("delp") ) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person p = (Person)session.createQuery("from Person").list().get(0);
session.delete(p);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
} else if ( args[0].equals("dela") ) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Address a = (Address)session.createQuery("from Address").list().get(0);
session.delete(a);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
}
}
private Date birthdate;
private char sex;
private float weight;
private Set address = new HashSet();
public Person() {}
public Set getAddress() {
return address;
}
public void setAddress(Set address) {
this.address = address;
}
……
public void addAddress (Address address) {
address.setPerson(this);
this.address.add(address);
}
}
public List getPerson () {
List list = new ArrayList();
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
list = session.createQuery("from Person").list();
session.getTransaction().commit();
return list;
}
public List getAddress () {
List list = new ArrayList();
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
list = session.createQuery("from Address").list();
session.getTransaction().commit();
return list;
}
public List getAddress ( Person p ) {
List list = new ArrayList();
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query q = session.createQuery("from Address where person_id=?");
q.setLong(0, p.getId().longValue());
list = q.list();
session.getTransaction().commit();
return list;
}