[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-551) @SQLInsert. Columns in sql comes in different order depending on the application server used
Søren Pedersen (JIRA)
noreply at atlassian.com
Thu Feb 8 03:50:42 EST 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/ANN-551?page=comments#action_26023 ]
Søren Pedersen commented on ANN-551:
------------------------------------
Hi Emmanuel,
I have now tried to reorder the list in the following manner in class AnnotationBinder:
List<XProperty> properties = annotatedClass.getDeclaredProperties( accessType );
------ new code begin --------
Collections.sort(properties, new Comparator() {
public int compare(Object obj, Object obj1) {
String fileEntry1 = ((XProperty)obj).getName();
String fileEntry2 = ((XProperty)obj1).getName();
return fileEntry1.compareTo(fileEntry2);
}
});
------ new code begin --------
for ( XProperty p : properties ) {
It works!!
I have tested on both WebLogic 9.2 and JBoss 4.0.5 and with different java-versions.
Do you think it will be included in the next release?
Regards,
Søren
> @SQLInsert. Columns in sql comes in different order depending on the application server used
> --------------------------------------------------------------------------------------------
>
> Key: ANN-551
> URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-551
> Project: Hibernate Annotations
> Type: Bug
> Components: binder
> Versions: 3.2.1
> Environment: Hibernate-core 3.2.2, hibernate-annotations 3.2.1. WebLogic 9.2 and JBoss 4.0.5. Oracle 10.
> Reporter: Søren Pedersen
>
>
> Problem:
> The columns in the sql you specify in SQLInsert annotation has be ordered in the same way hibernate sorts its properties when constructing the insert sql.
> Example:
> When WebLogic 9.2 is used the sql should look like this:
> "insert into acount (name, address, country) values (?,?,?)"
> But when JBoss 4.0.5 is used the sql should look like this:
> "insert into acount (address, country, name) values (?,?,?)"
> The above are only examples.
> Consequence:
> I have to have different SQLInsert's for every JEE apllication server we support, because the properties comes in different order depending on the application server used.
> Suggested solution:
> In the method org.hibernate.cfg.AnnotationBinder.addElementsOfAClass(List<PropertyData> elements, PropertyHolder propertyHolder, boolean isPropertyAnnotated,String propertyAccessor, final XClass annotatedClass, ExtendedMappings mappings)
> This property list shown below should be sorted to make sure that the properties also come in the same order:
> List<XProperty> properties = annotatedClass.getDeclaredProperties( accessType );
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list