Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何禁用Hibernate以按字母顺序生成列名_Java_Hibernate_Jpa - Fatal编程技术网

Java 如何禁用Hibernate以按字母顺序生成列名

Java 如何禁用Hibernate以按字母顺序生成列名,java,hibernate,jpa,Java,Hibernate,Jpa,我有一个具有以下列的实体: @Table(name="person") public class Person { @Id @GeneratedValue private int id; private String name; private String location; @CreationTimestamp private Date brithDate; public Person(

我有一个具有以下列的实体:

@Table(name="person")
public class Person {
    
    @Id
    @GeneratedValue
    private int id;
    private String name;
    private String location;
    
    @CreationTimestamp
    private Date brithDate;

    public Person() {

    }

    public Person(String name, String location, Date brithDate) {
        
        this.name = name;
        this.location = location;
        this.brithDate = brithDate;
    }
    
    

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public Date getBrithDate() {
        return brithDate;
    }

    public void setBrithDate(Date brithDate) {
        this.brithDate = brithDate;
    }

    @Override
    public String toString() { 
        return "\nPerson [id=" + id + ", name= " + name + ", location= " + location + ", brithDate= " + brithDate + "]";
    }
    
    

}
生成表后,它将生成列,如下所示:

与此查询生成的表完全不同:

CREATE TABLE person(
    id INTEGER NOT NULL,
    name VARCHAR(255) NOT NULL,
    location VARCHAR(255),
    birth_date TIMESTAMP,
    PRIMARY KEY(id)
);

虽然我在查询中按相同的顺序放置变量。如何控制这种按字母顺序生成表列的行为?

当hibernate自动生成或创建表时,没有特定的列顺序

这对于许多开发人员来说是一个问题,但Hibernate团队仍然没有提供任何解决方案


如果需要,可以按字母顺序手动创建表列。这可能是我建议的一种解决方法。

您确定不是您使用的SQL客户机显示了排序结果吗?请尝试
描述person
进行确认。desc person提供以下
'id',int',NO',PRI',NULL','brith_date','datetime(6)','YES','NULL','location','varchar(255)','YES','name','varchar(255)','YES','NULL',
@ishworupty默认情况下,hibernate提供。看看这个: