在JPA中,我可以访问由@OrderColumn创建的字段到收集的实体中吗?

时间:2012-01-10 08:59:12

标签: java jpa eclipselink

我的示例代码:

 public class A {

  @OneToMany
  @OrderColumn(name = "ORDER")
  private List<B> bList;
  ...
 }

 public class B {

  @Column(name = "ORDER")
  private Integer order; // I need this field because I want 
                         // to use the ordering field in my query.
  ...
 }

使用此代码,EclipseLink尝试创建“ORDER”列2次抛出异常而不创建B表。

感谢。

2 个答案:

答案 0 :(得分:2)

请在EclipseLink上记录此问题的错误。

您不需要仅用于查询的列,您可以使用JPQL INDEX(bList)来查询订单列。

在EclipseLink中,您还可以使用DescriptorCustomizer为任何列定义QueryKey以允许查询它。

答案 1 :(得分:1)

使用@OrderBy而不是@OrderColumn。看看参考 http://docs.oracle.com/javaee/6/api/javax/persistence/OrderColumn.html