//$Id$
package org.hibernate.test.annotations.manytoone;
import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
/**
* @author Emmanuel Bernard
*/
@Entity
public class Lotz implements Serializable {
@EmbeddedId
protected LotzPK lotPK;
@Column( name = "name", nullable = false )
private String name;
@Column( name = "location", nullable = false )
private String location;
@OneToMany( mappedBy = "lot", fetch = FetchType.LAZY, cascade = CascadeType.ALL )
private List<Carz> cars;
public Lotz() {
}
public List<Carz> getCars() {
return this.cars;
}
public void setCars(List<Carz> cars) {
this.cars = cars;
}
public String getLocation() {
return this.location;
}
public void setLocation(String location) {
this.location = location;
}
public LotzPK getLotPK() {
return this.lotPK;
}
public void setLotPK(LotzPK lotPK) {
this.lotPK = lotPK;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ( ( this.location == null ) ?
0 :
this.location.hashCode() );
result = PRIME * result + ( ( this.lotPK == null ) ?
0 :
this.lotPK.hashCode() );
result = PRIME * result + ( ( this.name == null ) ?
0 :
this.name.hashCode() );
return result;
}
@Override
public boolean equals(Object obj) {
if ( this == obj ) return true;
if ( obj == null ) return false;
if ( getClass() != obj.getClass() ) return false;
final Lotz other = (Lotz) obj;
if ( this.location == null ) {
if ( other.location != null ) return false;
}
else if ( !this.location.equals( other.location ) ) return false;
if ( this.lotPK == null ) {
if ( other.lotPK != null ) return false;
}
else if ( !this.lotPK.equals( other.lotPK ) ) return false;
if ( this.name == null ) {
if ( other.name != null ) return false;
}
else if ( !this.name.equals( other.name ) ) return false;
return true;
}
}