📄 eventmanager.java
字号:
/*
* EventManager.java
*
* Created on 28 de marzo de 2007, 16:00
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package events;
import com.sun.net.ssl.internal.ssl.SSLContextImpl;
import org.hibernate.Session;
import java.util.Date;
import util.HibernateUtil;
import java.util.List;
public class EventManager
{
public static void main(String[] args)
{
EventManager mgr = new EventManager();
if (args[0].equals("store"))
{
mgr.createAndStoreEvent("My Event", new Date());
System.out.println("GRABE");
}
else if (args[0].equals("list"))
{
List events = mgr.listEvents();
for (int i = 0; i < events.size(); i++)
{
Event theEvent = (Event) events.get(i);
System.out.println("Event: " + theEvent.getTitle() +
" Time: " + theEvent.getDate());
}
List persons = mgr.listPersons();
for(int i = 0; i < persons.size(); i++)
{
Person thePerson = (Person) persons.get(i);
System.out.println("Person: "+ thePerson.getFirstname());
}
}
else if(args[0].equals("addpersontoevent"))
{
for(int i = 0; i < 10; i++)
{
Long eventId = mgr.createAndStoreEvent("My Event"+i,new Date());
Long personId = mgr.createAndStorePerson("Foo"+i,"Bar"+i);
mgr.addPersonToEvent(personId, eventId);
System.out.println("Added person "+personId+i+" to event "+eventId+i);
}
}
else if(args[0].equals("addemailtoperson"))
{
for(int i = 0; i < 10; i++)
{
Long personId = mgr.createAndStorePerson("Persona "+i,"Apellido");
mgr.addEmailToPerson(personId, "mailpersona"+i+"@com.ar");
System.out.println("Added mail mailpersona"+i+"@com.ar to person "+personId);
}
}
HibernateUtil.getSessionFactory().close();
}
private List listEvents()
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result = session.createQuery("from Event").list();
session.getTransaction().commit();
return result;
}
private List listPersons()
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result = session.createQuery("from Person").list();
session.getTransaction().commit();
return result;
}
private Long createAndStoreEvent(String title, Date theDate)
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Event theEvent = new Event();
theEvent.setTitle(title);
theEvent.setDate(theDate);
session.save(theEvent);
session.getTransaction().commit();
return theEvent.getId();
}
private Long createAndStorePerson(String name, String lastname)
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person aPerson = new Person();
aPerson.setLastname(lastname);
aPerson.setFirstname(name);
session.save(aPerson);
session.getTransaction().commit();
return aPerson.getId();
}
private void addPersonToEvent(Long personId, Long eventId)
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
/*
Person aPerson = (Person)session.load(Person.class, personId);
Event anEvent = (Event)session.load(Event.class,eventId);
*/
Person aPerson = (Person) session.createQuery("select p from Person p left join fetch p.events " +
"where p.id = :pid").setParameter("pid", personId).uniqueResult();
Event anEvent = (Event) session.load(Event.class, eventId);
session.getTransaction().commit();
aPerson.getEvents().add(anEvent);
Session session2 = HibernateUtil.getSessionFactory().getCurrentSession();
session2.beginTransaction();
session2.update(aPerson);
session2.getTransaction().commit();
}
private void addEmailToPerson(Long personId, String emailAddress)
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person aPerson = (Person)session.load(Person.class, personId);
aPerson.getEmailaddresses().add(emailAddress);
session.getTransaction().commit();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -