Orden incorrecto en la tabla generada en jpa

Esto (debería) ser algo bastante simple de hacer, sin embargo estoy luchando.

Quiero que se genere una tabla como esta:

 carné de identidad 
 organizationNumber 
 nombre

Sin embargo, cuando miro en la base de datos, veo que el orden es incorrecto. ¿Alguien sabe cómo puedo forzar hibernate / jpa para generar la tabla con el orden correcto?

 desc Organización;
 + -------------------- + -------------- + ------ + ----- + --------- + ---------------- +
 |  Campo |  Tipo |  Nulo |  Clave |  Predeterminado |  Extra |
 + -------------------- + -------------- + ------ + ----- + --------- + ---------------- +
 |  id |  bigint (20) |  NO |  PRI |  NULL |  auto_increment | 
 |  nombre |  varchar (255) |  NO |  |  NULL |  | 
 |  organizationNumber |  varchar (255) |  NO |  UNI |  NULL |  | 
 + -------------------- + -------------- + ------ + ----- + --------- + ---------------- +

Así es como se ve mi entidad bean:

 @Entidad
 @NamedQuery (name = "allOrganizations", query = "SELECT org FROM ORGANIZACIÓN ORGANIZADA POR NOMBRE")
 Organización de clase pública {

     Identificación larga privada;
     private String organizationNumber;
     nombre de cadena privada;

     organización pública() {
     }

     Organización pública (String name) {
         this.name = nombre;
     }

     @Carné de identidad
     @GeneratedValue
     public Long getId () {
         devolución de identificación;
     }

     @SuppressWarnings ("sin usar")
     private void setId (Identificación larga) {
         this.id = id;
     }

     @No vacío
     @Column (unique = true, nullable = false)
     public String getOrganizationNumber () {
         return organizationNumber;
     }
        public void setOrganizationNumber (String organizationNumber) {
         this.organizationNumber = organizationNumber;
     }


     @No vacío
     @Column (nullable = false)
     public String getName () {
         nombre de regreso;
     }

     public void setName (String name) {
         this.name = nombre;
     }

     @Anular
     public String toString () {
         devuelve this.name + "" + this.organizationNumber;
     }
 }

Hibernate genera columnas en orden alfabético . Según esta publicación, la razón se da como:

Se ordena para garantizar el orden determinista entre clusters.

No podemos confiar en que vm devuelva los métodos en el mismo orden cada vez, así que tuvimos que hacer algo.

Al parecer, solía estar en el orden de aparición, pero esto cambió entre 3.2.0 GA y 3.2.1 GA.

También encontré que la generación automática de Schema crea columnas en orden alfabético para las claves primarias compuestas y esto parece ser como su problema. Este boleto es sobre el cambio de orden en las claves primarias y que afecta negativamente el rendimiento del índice.

No hay ninguna solución para esto aparte de una solución de nombrar las columnas de tal manera que salgan en el orden correcto (no, no estoy bromeando).

DataNucleus permite que la extensión especifique la posición para la generación de esquema, FWIW.