[hibernate-commits] Hibernate SVN: r10353 - in trunk/HibernateExt/metadata/src: java/org/hibernate/cfg/annotations test/org/hibernate/test/annotations/onetomany
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Fri Aug 25 19:28:33 EDT 2006
Author: epbernard
Date: 2006-08-25 19:28:31 -0400 (Fri, 25 Aug 2006)
New Revision: 10353
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/City.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/OneToManyTest.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/Street.java
Log:
ANN-284 can @OrderBy property made of formula
Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
===================================================================
--- trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java 2006-08-25 23:22:53 UTC (rev 10352)
+++ trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java 2006-08-25 23:28:31 UTC (rev 10353)
@@ -25,16 +25,16 @@
import org.hibernate.annotations.AccessType;
import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CollectionId;
import org.hibernate.annotations.CollectionOfElements;
import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.annotations.OrderBy;
import org.hibernate.annotations.Sort;
import org.hibernate.annotations.SortType;
import org.hibernate.annotations.Where;
-import org.hibernate.annotations.CollectionId;
-import org.hibernate.annotations.ForeignKey;
import org.hibernate.cfg.AnnotatedClassType;
import org.hibernate.cfg.AnnotationBinder;
import org.hibernate.cfg.BinderHelper;
@@ -53,14 +53,15 @@
import org.hibernate.mapping.Column;
import org.hibernate.mapping.Component;
import org.hibernate.mapping.DependantValue;
+import org.hibernate.mapping.IdGenerator;
import org.hibernate.mapping.Join;
import org.hibernate.mapping.KeyValue;
import org.hibernate.mapping.ManyToOne;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.Property;
+import org.hibernate.mapping.Selectable;
import org.hibernate.mapping.SimpleValue;
import org.hibernate.mapping.Table;
-import org.hibernate.mapping.IdGenerator;
import org.hibernate.reflection.XAnnotatedElement;
import org.hibernate.reflection.XClass;
import org.hibernate.reflection.XProperty;
@@ -655,8 +656,8 @@
//order by id
Iterator it = associatedClass.getIdentifier().getColumnIterator();
while ( it.hasNext() ) {
- Column col = (Column) it.next();
- orderByBuffer.append( col.getName() ).append( " asc" ).append( ", " );
+ Selectable col = (Selectable) it.next();
+ orderByBuffer.append( col.getText() ).append( " asc" ).append( ", " );
}
}
else {
@@ -710,8 +711,8 @@
Iterator propertyColumns = p.getColumnIterator();
while ( propertyColumns.hasNext() ) {
- Column column = (Column) propertyColumns.next();
- orderByBuffer.append( column.getName() )
+ Selectable column = (Selectable) propertyColumns.next();
+ orderByBuffer.append( column.getText() )
.append( " " )
.append( ordering.get( index ) )
.append( ", " );
@@ -784,8 +785,8 @@
Iterator propertyColumns = p.getColumnIterator();
while ( propertyColumns.hasNext() ) {
- Column column = (Column) propertyColumns.next();
- orderByBuffer.append( column.getName() )
+ Selectable column = (Selectable) propertyColumns.next();
+ orderByBuffer.append( column.getText() )
.append( " " )
.append( ordering.get( index ) )
.append( ", " );
Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/City.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/City.java 2006-08-25 23:22:53 UTC (rev 10352)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/City.java 2006-08-25 23:28:31 UTC (rev 10353)
@@ -41,7 +41,7 @@
}
@OneToMany(mappedBy = "city")
- @OrderBy("streetName, id")
+ @OrderBy("streetNameCopy, streetName, id")
public synchronized List<Street> getStreets() {
return streets;
}
Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/OneToManyTest.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/OneToManyTest.java 2006-08-25 23:22:53 UTC (rev 10352)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/OneToManyTest.java 2006-08-25 23:28:31 UTC (rev 10353)
@@ -49,7 +49,7 @@
s.close();
}
- public void testListWithBagSemantic() throws Exception {
+ public void testListWithBagSemanticAndOrderBy() throws Exception {
Session s;
Transaction tx;
s = openSession();
@@ -74,6 +74,7 @@
tx.commit();
s.clear();
tx = s.beginTransaction();
+ //testing @OrderBy with explicit values including Formula
paris = (City) s.get( City.class, paris.getId() );
assertEquals( 3, paris.getStreets().size() );
assertEquals( chmpsElysees.getStreetName(), paris.getStreets().get( 0 ).getStreetName() );
Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/Street.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/Street.java 2006-08-25 23:22:53 UTC (rev 10352)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetomany/Street.java 2006-08-25 23:28:31 UTC (rev 10353)
@@ -5,7 +5,10 @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.Column;
+import org.hibernate.annotations.Formula;
+
/**
* @author Emmanuel Bernard
*/
@@ -13,6 +16,7 @@
public class Street {
private Integer id;
private String streetName;
+ private String streetNameCopy;
private City city;
@Id
@@ -25,6 +29,7 @@
this.id = id;
}
+ @Column(name="STREET_NAME")
public String getStreetName() {
return streetName;
}
@@ -33,6 +38,15 @@
this.streetName = streetName;
}
+ @Formula("STREET_NAME")
+ public String getStreetNameCopy() {
+ return streetNameCopy;
+ }
+
+ public void setStreetNameCopy(String streetNameCopy) {
+ this.streetNameCopy = streetNameCopy;
+ }
+
@ManyToOne
public City getCity() {
return city;
More information about the hibernate-commits
mailing list