2011-06-08 83 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