ตัวอย่าง Hibernate ที่ใช้ความสัมพันธ์แบบ 1 to many

ตัวอย่าง Hibernate ที่ใช้ความสัมพันธ์แบบ 1 to many
http://bit.ly/hibernate1m

พนักงาน 1 คน มีหลายที่อยู่

ที่อยู่

@Entity
public class Address {
  @Id
  @GeneratedValue
  private int id;
  @Column
  private String province;
  @Column
  private int zip;

  // สร้าง toString และ getter/setter ด้วย
}

พนักงาน

@Entity               
public class Employee {
  @Id                 
  @GeneratedValue     
  private int id;
  @Column             
  private String name;
  @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  private List<Address> addresses = new ArrayList();

  // สร้าง toString และ getter/setter ด้วย
}

โค้ดสำหรับบันทึกพนักงานลงฐานข้อมูล

Address a1 = new Address();
a1.setProvince("Bangkok");
a1.setZip(10200);

Address a2 = new Address();
a1.setProvince("Supanburi");
a2.setZip(72000);

Employee e = new Employee();
e.setName("Somchai");
e.getAddresses().add(a1);
e.getAddresses().add(a2);

Session s = HibernateUtil.getSessionFactory().openSession();
s.beginTransaction();
s.save(e);
s.getTransaction().commit();
s.close();

โค้ดสำหรับพิมพ์พนักงานทั้งหมด

Session s = HibernateUtil.getSessionFactory().openSession();
s.beginTransaction();
List<Employee> list = (List<Employee>) s.createQuery("from Employee").list();
s.getTransaction().commit();
System.out.println(list);

ดูสไลด์ Hibernate ได้ที่ http://bit.ly/openslide

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s