問題タブ [hibernate-annotations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 休止状態での複数の結合関連付け
私の質問は、データベースの設計と、その設計を Hibernate でモデル化する方法に関連しています。次の主キーを持つ 2 つのテーブルがあります。
BLOCK から BLOCK_SHP は 1 対多の関係であり、1 つのブロックにさまざまなバージョンの形状を関連付けることができます。ここまでは順調ですね。
2 つ目の関連付けは、ブロックの現在の形状も取得できるようにしたいということです。これを行うために、BLOCK テーブルに別の属性を追加しました。
BLOCK_ID と CUR_SHAPE_VERSION は、BLOCK_ID、SHAPE_VERSION の BLOCK_SHP テーブルへの外部キーを形成するようになりました。各ブロックは、0 または 1 つの現在の形状を持つことができます。
Hibernate では、この 2 番目の関連付けを次のように設定しました。
Hibernate が null 許容の 1 対 1 の関連付けを処理する際に問題があったため、@NotFound アノテーションが必要でした。関連付けが見つからない場合は、エラーをスローする代わりに無視します。
ただし、Hibernate がエンティティ間の適切な関係を実際には認識していないことを意味するため、これはあまり満足のいくものではありません。たとえば、currentShape is not nullをクエリすると、Hibernate はこのクエリを適切に実行する方法を認識しません - block_id is not null または cur_shape_version is not nullをクエリしています。
それで、いくつか質問があると思います。まず、データベースでこの 2 番目の関連付けをモデル化するより良い方法はありますか? 第二に、関係をよりよく理解し、形状テーブルで適切にクエリできるようにするために、Hibernate で注釈を設定するためのより良い方法はありますか?
助けてくれてありがとう。
java - @Transient アノテーションで @Value アノテーションを使用できませんか?
休止状態を使用するためのテーブルをマップするクラスがあります。マッピングを定数として使用するために無視したい変数がいくつかあります。そして、プロパティから定数値をロードしたいので、次のようにコーディングします。
しかし、 の値MY_VALUE
は常に 0 に設定されます。 @Transient アノテーションを @Value アノテーションと一緒に使用することはできませんか? それとも私は何か他のものを逃しましたか?
hibernate - シーケンスの問題hbm2ddlでスキーマを生成するときに、2つのエンティティが同じシーケンスを共有しているのはなぜですか?
私はhbm2ddl
休止状態ベースのアプリケーションでdbスキーマを生成するために使用しています。hibernate.hbm2ddl.auto
プロパティの値はですcreate-drop
。
@Entity
POJOクラスにアノテーションを使用しています。
ただし、コードを実行すると、継続的に増分ID値を取得し続けます。たとえば、2つのテーブルの場合、ID(つまり、プリムキー)はそれぞれ1で始まる必要があります。ただし、にレコードを挿入した後Table 1
、シーケンスは。の次の値から始まりますTable 2
。GenerationType.SEQUENCE
表2の1から再開する必要があります。 &を試しGenerationType.AUTO
ました。何も機能しません:-(
hibernate - org.hibernate.loader.MultipleBagFetchExceptionが発生しないようにする方法
次の例外が発生します。
org.hibernate.loader.MultipleBagFetchException:複数のバッグを同時にフェッチすることはできません
私が使用するBeanは次のとおりです。
daoには次のコードがあります。
そのような例外を防ぐために何をすべきかわかりません
java - 休止状態での複合外部キーのマッピング
ここで、データベース スキーマの設計方法について質問しました。
要約すると、連絡先とグループを含めることができるアドレス帳があります。グループにも連絡先を含めることができますが、グループと同じアドレス帳にある連絡先のみです。
アドレス帳アドレス
帳ID
連絡先
ID
アドレス帳 ID
グループ
ID
グループID
グループ To 連絡先
ID
アドレス帳 ID
連絡先 ID
グループ ID
多対多の関係テーブルにアドレス帳 ID を追加することで、アドレス帳が一致するように強制できます。ただし、私は休止状態に比較的慣れていないため、次のようになります。
したがって、開始点として、上記の 2 つのテーブルがあり、コレクション内のオブジェクトを追加または変更するときにアドレス帳 ID の一致を強制する方法で、コレクションを hibernate によって制御する必要があります。
hibernate - 追加の列、代理キー、追加の主キーを使用して、結合テーブルの多対多のマッピングを休止状態にします
次のシナリオ(レガシーデータベースから)のエンティティマッピング(アノテーションを使用)を解決するのに苦労しています
シナリオ1:
シナリオ2:
シナリオ3:
注釈を使用して説明付きでこれらのエンティティを休止状態で表示するのに十分な種類がありますか?
java - Hibernate アノテーションを使用してコレクションを条件付きでマップするにはどうすればよいですか?
次のようなクラス構造があるとします (注釈は削除されています)。
Store が null になることはなく、Person と Paint の間で使用されるキーです。目標は、Swatch と同じ色のすべての Paint レコードを、Person と同じストアに一致させることです。ただし、Swatch が null であるか、その color 属性が null である可能性があります (どちらの場合も、Person と同じストアを持つすべてのペイントを返します)。
paints コレクションでこのクエリを構築する JPA または Hibernate ベースのアノテーションはありますか?
hibernate - Hibernate アノテーションまたは XML 構成
Hibernateで新しいプロジェクトを開始しました。Hibernate アノテーションの方が良い選択ですか、それとも Hibernate XML マッピングの方が良いですか?
XML構成でHibernateを使用しましたが、注釈についてはわかりません。
- 注釈ベースの実装を行う際に問題はありますか?
- アプリケーションのメンテナンスは、アノテーションベースで簡単ですか、それとも複雑ですか?
- どちらが優れており (つまり、注釈または XML マッピング)、どちらが広く使用されていますか? なんで?
- 別のレベル、つまり本番、統合、または開発レベルで別のデータベースを使用する場合、コードを変更する必要がありますか?
注: 2 つのテクノロジを比較しているわけではありませんが、最新のテクノロジを使用するアプリケーションで (つまり、2 つの方法のうち) どちらを使用するかを知りたいです。
java - 混乱: JPA と Hibernate を使用した @NotNull と @Column(nullable = false)
のフィールド/ゲッターに表示される場合、
@Entity
それらの違いは何ですか? (私はHibernateを通してエンティティを永続化します)。それぞれがどのフレームワークおよび/または仕様に属していますか?
@NotNull
内にありますjavax.validation.constraints
。javax.validation.constraints.NotNull
javadoc でそれは言う注釈付き要素は null であってはなりません
しかし、データベース内の要素の表現については言及していません。では、なぜ
nullable=false
列に制約を追加するのでしょうか?
database-design - 休止状態で列を作成しない方法は、エンティティクラスにいくつかのプロパティを含めます
エンティティ シームにプロパティを設定したい。しかし、データベースに列を作成したくありません。たとえば、私のエンティティは ;
このエンティティの子リストはデータベースをマッピングしていますが、サンプルリストをデータベースにマッピングしたくありません。どうすればいいですか?
どうも 。