2011-06-06 58 views
3

我使用一个模型,玩这样的:发挥创建与字段的表按字母顺序排序

package models; 

import java.util.*; 
import javax.persistence.*; 

import play.db.jpa.*; 

@Entity 
public class User extends Model { 

    public String email; 
    public String password; 
    public String fullname; 
    public boolean isAdmin; 

    public User(String email, String password, String fullname) { 
     this.email = email; 
     this.password = password; 
     this.fullname = fullname; 
    } 

} 

然后,表中创建的播放!有按字母顺序排序的字段:

id 
email 
fullname 
isAdmin 
password 

有什么办法让它按正确的顺序吗?

+2

为什么订单很重要? – 2011-06-06 13:20:47

+0

什么是按字母顺序的?行或列?关系数据库表中的数据没有固有的顺序,除非你的查询有'order by'子句(忽略聚集索引的概念) – 2011-06-06 13:22:14

+0

如果你查看你的数据,比如说phpmyadmin或者任何其他mysql(或任何db)客户端按照指定顺序查看表格列非常重要。 – dotoree 2011-06-06 16:38:50

回答

8

Play使用Hibernate。 Hibernate在创建表时会对列进行排序。请参阅this discussion

它被分类以确保集群间的确定性排序。

为了获得不同的顺序,让Hibernate为表创建DDL并按照自己喜欢的方式对列进行排序。

即:不要让Play/Hibernate自动创建表格。相反,请手动创建它们。

+1

我觉得非常需要指出,在关系数据库中,真的不需要担心表 – 2011-06-06 13:38:59

+0

中列的“顺序”哇!你很快。非常感谢你的配合! – dotoree 2011-06-06 13:41:25