Hmm, I'm just testing the @OrderBy annotation, but it seems, that it is bogus, right ?
2005-07-21 14:32:09,804 WARN [ScannerThread:org.jboss.system.ServiceController:353] - Problem creating service jboss.j2ee:service=EJB3,module=foo.par org.hibernate.AnnotationException: property from @OrderBy clause not found: foo.entities.A_OrderLineItemAttribute.id at org.hibernate.cfg.annotations.CollectionBinder.buildOrderByClauseFromHql(CollectionBinder.java:509) at org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass(CollectionBinder.java:415)
public class A_OrderLineItem { private int id; List<A_OrderLineItemAttribute> attrs; @Id(generate = GeneratorType.AUTO) @Column(name = "orders_products_id", nullable=false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL, mappedBy="orderLineItem") @OrderBy("id ASC") public List<A_OrderLineItemAttribute> getAttributes() { return attrs; } public void setAttributes(List<A_OrderLineItemAttribute> attrs) { this.attrs = attrs; } // ... } public class A_OrderLineItemAttribute { private int id; private A_OrderLineItem orderLineItem; @Id(generate = GeneratorType.AUTO) @Column(name = "orders_products_attributes_id", nullable=false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name = "orders_products_id", nullable=false, referencedColumnName="orders_products_id") public A_OrderLineItem getOrderLineItem() { return this.orderLineItem; } public void setOrderLineItem(A_OrderLineItem item) { this.orderLineItem = item; } //... }
Fixed in CVS, thanks.
My algorithm used to fail on identifier property.