これは、他の人の経験から学ぶことを願って、ベストプラクティスの問題です。 @Column(name =)と@Table(name =)を使用して明示的に列と表の名前を指定することをお勧めしますか?いくつかの実装の詳細が変わるかもしれないと私は少し心配しています。また、それを指定することで、自分のコードのリファクタリングに対する耐性が得られるかもしれません。私は、コードを明示的に状態名にすることを明確にするかもしれないと思う。一方で、コードをもっと冗長にする必要がある場所を多くします。@Columnと@Tableで常に名前を指定するか、必要なときにのみ指定する必要があります
3
A
答えて
4
これはベストプラクティスに関する質問であるため、私は自分の考えを共有することしかできません。私によれば、重要な質問は「どのように流体がデータベース設計ですか?」です。 (これはおそらく、あなたのドメインモデルがどのように流動的になるかで決まります)。
いずれにせよ、私はテーブル名とカラム名を常に提供します。 (これはある程度の明快さを提供する)。エンティティ(エンティティアクセスを機能単位としてグループ化する)の上に抽象レイヤーを記述した場合、エンティティの設計の変更を適切に処理できます。
は、テーブルと列の名前を提供しないと、単にコードの読みやすさを低減し、適切な設計で、私たちはリファクタリングながら名前は任意の過度の回復力が発生しないことを確認することができます。私はエンティティモデルを再生成できなければならず、リファクタリングは抽象レイヤで正常に実行できます。私は私の考えをはっきりと表現したいと思っています。
1
私の2セント:与えられたプロジェクトでは、それはいつも、あるいは決して行いませんが、物事を混同しないでください。大規模な組織では、特定の命名規則に基づいてテーブルや列を定義する必要がある(有用な)データベース設計ガイドラインを見てきました。 プロジェクトの略語 _ カウンタ _ テーブルこれにより、MYPROJ_CUSTOMER_1のようなテーブル名が生成されます。これはJavaクラスの名前ではありません。
BTW:私はorm.xmlのファンです。このクラスを使用すると、Javaクラスからデータベースの詳細を削除し、XMLに戻すことができます。私はこれが最新ではないことを知っています:-)
関連する問題
- 1. IPアドレスを指定する必要がありますか?
- 2. tf.boolean_mask、mask_dimensionを指定する必要がありますか?
- 3. flex-direction:ディスプレイを指定する必要がありますか?
- 4. ブラウザで角度を指定する必要があります
- 5. 'imports'文は、宣言の前に指定する必要があります。
- 6. サーブレットで8080とパッケージ名を指定する必要はありません
- 7. fx:controller = ""で指定する必要があります
- 8. 'SignInScheme'オプションを指定する必要があります
- 9. AttributeError:フラグ--trained_checkpoint_prefixを指定する必要があります
- 10. キャメルテスト - java.lang.IllegalArgumentException:defaultEndpointを指定する必要があります
- 11. コンストラクタはパラメータを指定する必要があります
- 12. raise NoRegionError() - リージョンを指定する必要があります
- 13. git push - パスを指定する必要があります
- 14. なぜHTMLハイパーリンクに言語を指定する必要がありますか?
- 15. Gemfileに正確なバージョンを指定する必要がありますか?
- 16. 角度指示に名前を付ける必要がありますか?
- 17. String toLowerCaseを呼び出すときに指定する必要があるロケール
- 18. Androidの%レイアウトの幅と高さを指定する必要があります
- 19. なぜC++のprintf関数で型指定子を指定する必要がありますか?
- 20. ORA-00998:列の別名でこの式の名前を指定する必要があります。
- 21. movコンストラクタにnoexcept指定子は常に必要ですか?
- 22. DuplexClientBaseコンストラクタの "endpointConfigurationName"には何を指定する必要がありますか?
- 23. なぜACTION_PACKAGE_ADDEDインテントフィルタのスキーマを指定する必要がありますか?
- 24. ファイルをディスクに書き込むときに、いつエンコーディングを指定する必要がありますか?
- 25. 各CSSページにカスタムフォントを指定する必要がありますか?
- 26. サブタイプに型差異を指定する必要がありますか?
- 27. プライマリキーに "not null"を指定する必要がありますか? Oracle/SQL
- 28. オフセットはSQLクエリの最後に指定する必要がありますか?
- 29. なぜフラッシュ待機サイクル数を指定する必要がありますか?
- 30. なぜinitメソッドを指定する必要がありますか?
抽象レイヤの用語レイヤはここではゆるやかに使用されています。完全なデータアクセスレイヤである必要はありません。それは名前付きクエリの静的なコレクションかもしれません..私はあなたがアイデアを得ることを願っています。 –
+1、私はあなたに同意します。 – home