2011-06-08 78 views
1

可能重複:
Wrong ordering in generated table in jpaPlay中的JPA列順序!框架

進出口使用播放!框架,我有這個在我的模型:

@Entity(name="Dialer") 
public class Dialer extends Model { 
    @Column(name="offer") 
    public String offer; 
    @Column(name="domain") 
    public String domain; 
    @Column(name="created_date", insertable=false, updatable=false) 
    @Generated(value=GenerationTime.ALWAYS) 
    @Temporal(TemporalType.TIMESTAMP) 
    public DateTime createdDate; 
    ...... 

我希望它可以反映在數據庫正是因爲它的佈局,而是我得到這個:

id, created_date, domain, offer 

我如何解決這個問題?

+2

爲什麼重要?列順序不應該不重要。 – 2011-06-08 04:07:39

+0

相似,但不在相關列表中:http://stackoverflow.com/questions/5964714​​/maintain-the-order-of-column-when-creating-a-new-table-using-hibernate,http:// stackoverflow .com/questions/4323065/jpa-and-order-of-the-database, – 2011-06-08 04:44:21

+0

如果您使用映射文件而不是註釋的話,您是否嘗試過順序保留?註釋可以按任何順序處理 - 不僅按照它們的編寫順序處理。您可能還需要閱讀JPA實現的文檔,因爲它可能具有允許明確指定列順序的擴展 – 2011-06-08 04:49:25

回答

0

JPA未定義控制表的模式生成列順序的方式;它依賴於實現。 JDO確實定義了一種機制。

+0

任何示例/鏈接? – kingbuzzman 2011-06-08 06:28:44

+0

JDO的機制允許用戶使用@Column(position = {x})指定一個字段,其中{x}是一個整數,因此您可以對所有列進行排序。無論如何,Hibernate顯然不支持JDO。無論您的JPA實現是否提供了這樣做的方法,取決於您正在使用的內容以及閱讀他們的文檔。 – DataNucleus 2011-06-08 08:33:08