package org.hibernate.jpa.test.criteria.fetchscroll; import java.util.List; import java.io.Serializable; import javax.persistence.*; @Entity @Table(name = "purchase_organizations") public class PurchaseOrg implements Serializable { private static final long serialVersionUID = -6659835148502079000L; private Long id; private String name; private Customer customer; private List<Facility> facilities; @Id @GeneratedValue @Column(name = "PURCHASE_ORG_ID", nullable = false, updatable = false) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(name = "PURCHASE_ORG_NAME", length = 40, nullable = false, updatable = false) public String getName() { return name; } public void setName(String name) { this.name = name; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "CUSTOMER_ID", referencedColumnName = "CUSTOMER_ID", nullable = false, updatable = false) public Customer getCustomer() { return customer; } public void setCustomer(Customer customer) { this.customer = customer; } @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "PURCHASE_FACILITY", joinColumns = @JoinColumn(name = "PURCHASE_ORG_ID"), inverseJoinColumns = @JoinColumn(name = "FACILITY_ID")) public List<Facility> getFacilities() { return facilities; } public void setFacilities(List<Facility> facilities) { this.facilities = facilities; } @Override public int hashCode() { return 17 * 31 + id.hashCode(); } @Override public boolean equals(Object object) { boolean result = false; if(object instanceof PurchaseOrg) { PurchaseOrg other = (PurchaseOrg) object; result = id.equals(other.id); } return result; } }