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提供。看看这个: