0

我们正在使用 Netbeans 实用程序从数据库表中生成实体类,现在我们可以做到这一点。就像从表到实体 POJO 和反向一样,所以当我们对实体 POJO 进行任何更改时 - 我们将获得更新的 SQL。

Eclipse 也有可用于 JPA 的类似实用程序,但它不执行反向操作,现在问题是在从表生成实体 POJO 时,我们没有选择命名约定。我们得到所有小写的字段名称,对于没有骆驼大小写的类,只有大写的第一个字母,而其他所有内容都是小写。

现在这似乎给我们定义的编码标准带来了问题,因为它要求我们对变量和方法名称使用驼峰式大小写。

所以我们与团队进行了讨论,一个想法是在整个项目中将所有变量保持为小写,我个人不同意,因为它使代码非常不可读,因为我们不打算使用下划线来分隔单词。您可以对此标准投票。

你认为最好的出路是什么?是否有任何可用的实体 POJO 生成器可以转换两种方式,并且当它发现下划线时仍然能够从 db 表名转换为驼峰式大小写?

4

4 回答 4

2

最好的解决方案是立即停止并转向标准的 java 命名约定:

  1. 变量和方法名以小写开头
  2. 类和接口名称以大写开头
  3. 使用骆驼约定。除常量外没有下划线(见后文)
  4. public final 静态字段名称都是带有下划线的大写字母(就像#define在 C 中一样)。字段也同样推荐enum(但这个推荐不是那么严格)

如果我忘记了什么,我很抱歉。但是遵循大多数开发人员适用的命名和编码约定非常重要。首先,这些约定是基于非常丰富的经验。不要认为你可以改进它们。你不能。我也不能。:) 其次遵循编码约定使您的代码对其他人易于理解并避免愚蠢的错误。

于 2013-01-01T09:47:47.027 回答
2

我用dali和 eclipse 来生成实体,如果你不能设置你需要的命名会很惊讶。

另外,我想 intellij 允许您也可以根据需要执行此操作。

于 2013-01-01T09:55:13.560 回答
2

你认为最好的出路是什么?

遵循 Java 样式约定。时期。

是否有任何可用的实体 POJO 生成器可以转换两种方式,并且当它发现下划线时仍然能够从 db 表名转换为驼峰式大小写?

我不知道。

但是,如果您找不到,请使用现有的开源生成器并对其进行修改以执行您想要的操作。然后将您的补丁贡献回项目,以便其他人可以从您的工作中受益。

于 2013-01-01T09:55:23.310 回答
1

[...] 一种想法是在整个项目中将所有变量保持为小写 [...]

忘掉这个。你在爪哇的土地上。这意味着所有其他框架都不会遵守该标准,因此您永远不会只有一种干净的编码风格。Java 的优点之一是The One Style使阅读外国代码变得更加容易。

因此,您应该尝试将其控制在尽可能小的空间中,而不是传播这种疾病——在您的情况下,是工具生成的东西。下一步是改进或删除该工具。

于 2013-01-01T09:59:47.383 回答