2011-06-06 63 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