JPA和数据库中的列顺序

时间:2010-12-01 09:51:34

标签: jpa java-ee

我正在使用Eclipselink作为我的持久性提供程序。有没有办法指定列在数据库中的显示顺序?数据库中的列顺序与我的实体中的属性顺序不匹配。据我所知,按字母顺序排列hibernate order列,但我找不到Eclipselink的任何规范。

1 个答案:

答案 0 :(得分:2)

EclipseLink根据映射的权重对映射进行排序,从而对列进行排序。通常,除了确保Baisc映射是第一个,并且关系映射是第二个之外,不设置权重。

如果您希望使用DescriptorCustomizer,可以设置映射的权重。您还可以将描述符设置为不按权重排序映射,因此将使用它们指定的顺序(setShouldOrderMappings(false))。

public void MyCustomizer implements DescriptorCustomizer {
  public void customize(ClassDescriptor descriptor) {
    descriptor.getMappingForAttributeName("name").setWeight(2);
  }
}

最近在2.2开发中对映射的权重进行了一些更改,现在映射按名称在相同的权重级别内排序。