//$
package org.hibernate.test.annotations.idmanytoone.alphabetical;
import java.io.Serializable;
import javax.persistence.Embeddable;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
@Embeddable
public class BId implements Serializable {
@ManyToOne
@JoinColumns( {
@JoinColumn( name = "aId", nullable = false ),
@JoinColumn( name = "bSequenceNumber", nullable = false )
} )
private C parent;
private int sequenceNumber;
public BId() {
}
public C getParent() {
return parent;
}
public void setParent(C parent) {
this.parent = parent;
}
public int getSequenceNumber() {
return sequenceNumber;
}
public void setSequenceNumber(int sequenceNumber) {
this.sequenceNumber = sequenceNumber;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ( ( parent == null ) ? 0 : parent.hashCode() );
result = prime * result + sequenceNumber;
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 BId other = (BId) obj;
if ( parent == null ) {
if ( other.parent != null )
return false;
}
else if ( !parent.equals( other.parent ) )
return false;
if ( sequenceNumber != other.sequenceNumber )
return false;
return true;
}
}