Java 如何在hibernate中按特定顺序创建表列?
我的问题有重复,但尚未得到答复。我是hibernate的初学者,同时使用属性从SQLServer中的实体自动创建表Java 如何在hibernate中按特定顺序创建表列?,java,sql-server,hibernate,Java,Sql Server,Hibernate,我的问题有重复,但尚未得到答复。我是hibernate的初学者,同时使用属性从SQLServer中的实体自动创建表 创建 在我使用复合键之前,表列的顺序似乎不正确,这对我来说不是问题。现在的问题是,该列的顺序与业务实体不一样。 这是我创建的业务实体 @Entity public class SalesEstimateDtl implements Serializable { @Id private Long LedSalesEstID; @Id private Integer LedSalesE
创建
在我使用复合键之前,表列的顺序似乎不正确,这对我来说不是问题。现在的问题是,该列的顺序与业务实体不一样。
这是我创建的业务实体
@Entity
public class SalesEstimateDtl implements Serializable {
@Id
private Long LedSalesEstID;
@Id
private Integer LedSalesEstRowNo;
下面是生成的查询
CREATE TABLE [dbo].[SalesEstimateDtl](
[LedSalesEstRowNo] [int] NOT NULL,
[LedSalesEstID] [numeric](19, 0) NOT NULL,
PRIMARY KEY CLUSTERED
(
[LedSalesEstRowNo] ASC,
[LedSalesEstID] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
如何使用LedSalesEstID更改LedSalesEstRowNo的顺序?事实上,使用注释指定的列创建的表不应依赖于它的顺序。
SELECT*
语句都不能完全确保列也按特定顺序排列
对于Hibernate团队的响应,这似乎是一个已知的问题,无法通过Hibernate设置列的顺序。邮局
据我所知,我们可能不完全依赖Hibernate的hbm2ddl
来创建表。在通过Hibernate创建表的那一刻,我们就可以根据需要对其进行修改以对列进行排序
希望这能回答你的问题 在Hibernate配置文件中使用以下属性
showShemaUpdate
然后在创建SessionFactory之前使用以下代码。
String file=“SqlSchema.sql”;
SchemaUpdate=新的SchemaUpdate(配置);
update.setOutputFile(文件);
update.execute(false,false)代码>
它将在一个包含所有DDL查询的位置创建SqlSchema.sql文件。按您想要的顺序编辑它们。使用@EmbeddedId
@Entity
class Student{
@EmbeddedId
StudentInfo id;
String Name;
String Class;
Integer RollNo;
}
@Embeddable
class StudentInfo implements serializable {
Integer StudentID;
Integer StudentRowNo;
}
我的回答有问题吗?我只是热衷于理解问题和问题本身的实际答案?你为什么不接受答案?很抱歉,我尝试使用stackOverflow的移动应用程序,但出现了错误:D