OpenJPA上的列顺序

Mar*_*nco 7 jpa openjpa

有没有办法按照它们在Java类中声明的顺序获取列,或者以其他方式指定顺序?

我正在使用映射工具ant任务在sql文件中为我的类生成DDL.

Ósc*_*pez 7

不,JPA的每个实现都可以按照它认为合适的顺序自由排列生成的DDL中的列,并且通常程序员无法控制它 - 例如:Hibernate使用字母顺序,但DataNucleus允许指定列位置归功于非标准注释.遗憾的是,OpenJPA没有提供指定列排序的机制.

我之前遇到过类似的问题,我的客户端的数据库指南强制要求列中的某个排序,而我的JPA提供程序产生了不同的顺序.解决方案?我们编写了一个文本处理Java程序,给定生成的DDL作为输入,重新排序代码中的列,使其满足指南并作为输出生成带有修改后的DDL的新文件; 该程序是从Ant任务运行的.不是很漂亮,但从实际的角度来看,这是我们可以集合的最佳解决方案.

  • 谢谢奥斯卡的回答.很遗憾,OpenJPA没有提供指定colummns的顺序的方法= / (3认同)