vil*_*iam 5 java indexing hibernate jpa jpa-2.1
有没有一种方法可以创建一个具有DESC顺序的一列的多列索引?我已经试过了(来自javax.persistence包的注释):
@Table(name = some_table
indexes = {
@Index(name = "idx_multi_column", columnList = "column1, column2, column3"),
@Index(name = "idx_multi_column", columnList = "column1, column2, column3 DESC")
}
)
Run Code Online (Sandbox Code Playgroud)
但是它使用column3 asc创建两个索引-DESC被忽略。我正在使用:
Hibernate 4.3.10 Hibernate JPA 2.1 API
谢谢。
根据定义 - 即JPA 规范\xc2\xb9 文档,又名 JSR 338 - 有一种方法可以注释所需的行为,正如您在问题中所描述的那样。引用规范第 11.1.23 节“索引注释”,第 452 页:
\n\n\n该
\n@Index注释用于模式生成。[..] 索引注释\n可用于指定主键索引中列的顺序。
@Target({}) @Retention(RUNTIME)\npublic @interface Index {\n String name() default "";\n String columnList();\n boolean unique() default false;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\ncolumnList元素的语法是column_list,如下所示:
\n
column::= index_column [,index_column]*\nindex_column::= column_name [ASC | DESC]\nRun Code Online (Sandbox Code Playgroud)\n\n\n持久性提供者必须遵守指定的列顺序。
\n
\n\n如果未指定ASC或DESC ,则假定为ASC(升序)。
\n
任何持久性提供者都必须(应该)遵守此要求以符合 JPA 规范。因此,我可以想象 4.3.10 版本中的 Hibernate 要么 (a) 遇到错误,要么 (b) 不遵守该特定点的规范。
\n希望能帮助到你。
\n脚注
\n\xc2\xb9 在2.2版本或之前的2.1/2.0版本中
\n| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |