我可以告诉复合主键的Spring Data JPA / Hibernate顺序吗?

时间:2015-01-17 09:29:22

标签: java spring hibernate jpa spring-data-jpa

我正在使用带有hbm2ddl.auto=update的Spring Data JPA。我定义了一个具有复合主键的实体(使用@EmbeddedId)。 我是否可以在创建表时定义组合键的顺序?即,它是(userid, token)还是(token, userid)

1 个答案:

答案 0 :(得分:1)

Hibernate将使用实体属性顺序生成DDL脚本。虽然您可以override the embeddable column names,但您无法指定列顺序。

因为@EmbeddedId将生成复合主键,所以无论如何都会自动生成索引。您只需确保SELECT语句ORDER BY子句使用与复合ID相同的列序列,以使索引解析尽可能高效。