我应该始终通过 @Column 和 @Table 指定名称还是仅在必要时指定名称

Dav*_*ave 3 java jpa eclipselink

这更多的是一个最佳实践的问题,希望能借鉴别人的经验。您是否建议始终使用 @Column(name=) 和 @Table(name=) 显式指定列和表的名称?我有点担心一些实施细节可能会改变。此外,指定它可能会提供一些针对重构代码的弹性。我还认为这可能会让代码更清晰地明确说明名称。另一方面,它使代码在许多不需要的地方变得更加冗长。

unc*_*ons 5

由于这是一个关于最佳实践的问题,我只能分享我的观点。据我所知,关键问题是“您的数据库设计有多流畅?” (这可能归结为你的领域模型的流动性)。

无论哪种方式,我都会始终提供表名和列名。(这提供了一定程度的清晰度)。如果我在实体之上编写了一个抽象层(将实体访问分组为功能单元),那么我可以在某种程度上优雅地处理实体设计中的更改。

不提供表和列名称只会降低代码的可读性,通过适当的设计,我们可以确保名称在重构时不会导致任何过度的弹性。我应该能够重新生成我的实体模型,并且可以在抽象层中优雅地完成重构。希望我已经清楚地表达了我的想法。