根据 Java EE 6 文档,JPA 1.0@OrderBy
使用字段名,而 JPA 2.0@OrderColumn
在声明注释时使用列名。看这里:
http://docs.oracle.com/javaee/6/api/javax/persistence/OrderBy.html
http://docs.oracle.com/javaee/6/api/javax/persistence/OrderColumn.html
前者从 JPA 1.0 开始可用,后者是在 JPA 2.0 中添加的。如果您阅读文档片刻,就会清楚@OrderBy
使用字段/属性来指定顺序,而@OrderColumn
使用 SQL/DDL 列名。
为什么会这样?对我来说,这看起来很矛盾。
有没有更深层次的原因是为什么事情会这样?它是 JPA 1.0 的遗物吗?