//$Id$
package org.hibernate.test.annotations.idmanytoone;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
/**
* @author Emmanuel Bernard
*/
@Entity
public class Card {
@Id
private CardPrimaryKey primaryKey = new CardPrimaryKey();
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "primaryKey.card")
private Set<CardField> fields;
@ManyToOne
private CardField mainCardField;
@Embeddable
public static class CardPrimaryKey implements Serializable {
public CardPrimaryKey() {}
@ManyToOne(optional = false)
private Project project;
public Project getProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}
}
public Set<CardField> getFields() {
return fields;
}
public void setFields(Set<CardField> fields) {
this.fields = fields;
}
public CardPrimaryKey getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(CardPrimaryKey primaryKey) {
this.primaryKey = primaryKey;
}
public CardField getMainCardField() {
return mainCardField;
}
public void setMainCardField(CardField mainCardField) {
this.mainCardField = mainCardField;
}
}