【问题标题】:play creates tables with the fields sorted alphabeticallyplay 创建表格,其中的字段按字母顺序排序
【发布时间】:2011-06-06 13:18:38
【问题描述】:

我在 Play 中使用这样的模型:

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;
    }

}

然后,由 Play 创建的表!具有按字母顺序排序的字段,例如:

id
email
fullname
isAdmin
password

有没有什么方法可以把它按正确的顺序排列?

【问题讨论】:

  • 什么是字母?行还是列?除非您的查询有order by 子句(忽略聚集索引的概念),否则关系数据库表中的数据没有固有顺序
  • 如果您在 phpmyadmin 或任何其他 mysql(或任何 db)客户端查看数据,按指定顺序查看表的列非常重要。

标签: java hibernate jpa playframework


【解决方案1】:

Play 使用休眠。 Hibernate 在创建表时对列进行排序。见this discussion

它被排序以确保跨集群的确定性排序。

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

即:不要让 Play/Hibernate 自动创建表。而是手动创建它们。

【讨论】:

  • 我觉得有必要指出,在关系数据库中,真的不需要担心表中列的“顺序”
  • 哇!你很快。谢谢你非常匹配!
猜你喜欢
  • 2012-11-08
  • 1970-01-01
  • 2022-06-24
  • 2020-11-26
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
相关资源
最近更新 更多