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

dev*_*mao 5 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表.

谢谢.

Jam*_*mes 2

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

您不应该只需要该列来进行查询,您可以使用 JPQL INDEX(bList) 来查询订单列。

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