我们正在使用一个非常基本的 JPA 实现,它应该从我们的模型中一致地创建表。
我相信我们正在使用 EclipseLink 或 TopLink(无论哪一个是最新的 Netbeans/Glassfish 的默认设置)。问题是,这些表是用不一致的大小写和列乱序创建的。对我来说,它将"User"
表创建为“用户”,而对于我团队的其他成员,它会创建"USER"
.
我试过使用@Table annotation (@Table(name="USer"))
,但它不起作用。
我们如何让 EclipseLink 生成一致的表名?坦率地说,对于这样的框架来说,这似乎是一个相当业余的错误。
子问题:据我所知,这是一个问题的原因是因为默认情况下 EclipseLink 没有管理模式/数据迁移的默认方式。我们处理它的方式是编写一堆INSERT INTO's
来引导我们在数据库中需要的对象,并在每次模式更改时删除并重新创建表。我知道这不是传播模式更改的最佳实践——有谁知道这在标准 JPA 实现中通常是如何处理的?
谢谢。