0

Netbeans ユーティリティを使用してデータベース テーブルからエンティティ クラスを生成しています。テーブルからエンティティ POJO へ、およびその逆のように、エンティティ POJO に変更を加えると、更新された SQL が取得されます。

Eclipse にも JPA で使用できる同様のユーティリティがありますが、逆のことはできません。ここで問題となるのは、テーブルからエンティティ POJO を生成するときに、命名規則を選択できないことです。すべてのフィールド名を小文字で取得し、最初の文字だけを大文字にし、他のすべてを小文字にするキャメルケースがないクラスについても同様です。

これは、変数名とメソッド名にキャメルケースを使用する必要があるため、定義したコーディング標準に問題を引き起こしているようです。

そのため、チームと話し合い、プロジェクト全体ですべての変数を小文字に保つという考えがありましたが、単語を区切るためにアンダースコアを使用する予定がないため、コードが非常に読みにくくなるため、個人的には同意しません。この基準に投票できます。

最善の方法は何だと思いますか?両方の方法を変換し、アンダースコアが見つかったときに db テーブル名からキャメルケースに変換する機能を持つエンティティ POJO ジェネレーターはありますか?

4

4 に答える 4

2

最善の解決策は、標準の Java 命名規則をすぐに停止して移行することです。

  1. 変数名とメソッド名は小文字で始まります
  2. クラス名とインターフェイス名は大文字で始まります
  3. キャメル規約が使用されます。定数以外はアンダースコアなし (後述)
  4. public final static フィールド名はすべてアンダースコア付きの大文字です ( #defineC のように)。フィールドにも同じことが推奨されenumます (ただし、この推奨事項はそれほど厳密ではありません) 。

何か忘れていたらすみません。ただし、ほとんどの開発者が適用できる命名規則とコーディング規則に従うことは非常に重要です。まず、これらの規則は非常に大きな経験に基づいています。それらを改善できるとは思わないでください。できません。私もできません。:) 2 番目のコーディング規約に従うことで、他の人がコードを理解できるようになり、ばかげた間違いを避けることができます。

于 2013-01-01T09:47:47.027 に答える
2

エンティティ生成に eclipse でdaliを使用しましたが、必要な名前を設定できなかった場合は驚くでしょう。

また、intellij を使用すると、必要に応じてこれを行うこともできると思います。

于 2013-01-01T09:55:13.560 に答える
2

最善の方法は何だと思いますか?

Java スタイルの規則に従います。限目。

両方の方法を変換し、アンダースコアが見つかったときに db テーブル名からキャメルケースに変換する機能を持つエンティティ POJO ジェネレーターはありますか?

知らない。

ただし、見つからない場合は、既存のオープン ソースジェネレーターを使用して、必要な処理を行うように変更してください。そして、他の人があなたの作業から恩恵を受けることができるように、あなたのパッチをプロジェクトに貢献してください。

于 2013-01-01T09:55:23.310 に答える
1

[...] 1 つの考えは、プロジェクト全体ですべての変数を小文字に保つことでした [...]

これを忘れます。あなたはジャワ島にいます。これは、他のすべてのフレームワークがその標準に準拠していないことを意味し、したがって、1 つだけのクリーンなコーディング スタイルを持つことは決してありません。Java の優れた点の 1 つは、外部コードの読み取りをはるかに容易にするThe One Styleがあることです。

したがって、その病気を広める代わりに、可能な限り最小のスペースに封じ込めるようにする必要があります-あなたの場合、ツールによって生成されたもの. 次のステップは、そのツールを改善または削除することです。

于 2013-01-01T09:59:47.383 に答える