Hibernate composite id de clé de générateur

J'ai mon entités comme ci-dessous.
Mon modèle de données applique ci-dessous et je ne peut pas changer de référentiel itegrity.
Donc je suis coincé avec une clé composite.
Je veux générer automatiquement/utiliser certains générateur de orderId

Oui j'ai lu ci-dessous.
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity-mapping-identifier

Je ne veux gérer la génération d'id de processus que ci-dessus recommande l'application générant le n ° de commande.

Comment faire de l'partielle id générateur de travail.. quelles sont mes options..vous serions reconnaissants de certaines pensées par des experts.

@Entity
@Table(name = "Orders", uniqueConstraints = @UniqueConstraint(columnNames = {"partner_ID", "order_ident" }))
public class Order  {
private OrderId id;
public Order() {
}
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "partnerId", column = @Column(name = "partner_ID", nullable = false)),
@AttributeOverride(name = "employeeId", column = @Column(name = "employee_ID", nullable = false)),
@AttributeOverride(name = "orderId", column = @Column(name = "order_ID", nullable = false)) })
public OrderId getId() {
return this.id;
}
public void setId(OrderId id) {
this.id = id;
}
}
@Embeddable
public class OrderId extends FactObject {
private int partnerId;
private int employeeId;
private int orderId;
public OrderId() {
}
public OrderId(int partnerId, int employeeId, int orderId) {
this.partnerId = partnerId;
this.employeeId = employeeId;
this.orderId = orderId;
}
@Column(name = "partner_ID", nullable = false)
public int getpartnerId() {
return this.partnerId;
}
public void setpartnerId(int partnerId) {
this.partnerId = partnerId;
}
@Column(name = "employee_ID", nullable = false)
public int getemployeeId() {
return this.employeeId;
}
public void setemployeeId(int employeeId) {
this.employeeId = employeeId;
}
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
@Column(name = "order_ID",insertable=false, nullable=false,  updatable=false)
public int getOrderId() {
return this.orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public boolean equals(Object other) {
if ((this == other))
return true;
if ((other == null))
return false;
if (!(other instanceof OrderId))
return false;
OrderId castOther = (OrderId) other;
return (this.getpartnerId() == castOther.getpartnerId())
&& (this.getemployeeId() == castOther.getemployeeId())
&& (this.getOrderId() == castOther.getOrderId());
}
public int hashCode() {
int result = 17;
result = 37 * result + this.getpartnerId();
result = 37 * result + this.getemployeeId();
result = 37 * result + this.getOrderId();
return result;
}
}
Je pense que cette question et la réponse sera aider: stackoverflow.com/questions/6405746/...
Merci pour le lien qui n'a pas aidé comme vous pouvez le voir je suis en train de générer l'id de l'une des 3 colonnes qui constituent la principale clé composite .. En ce moment je m'intéresse à la génération n ° de commande externe et la valeur de l'objet que je n'aime pas .. mais pas beaucoup de traction sur ce post..
Cela peut vous aider: vladmihalcea.com/...

OriginalL'auteur user973779 | 2011-09-30