問題タブ [joined-subclass]
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.
.net - ADO.NET Entity Framework と結合されたサブクラス
Entity Framework バージョン 1 で Joined Subclass を実行できますか? この問題にどのようにアプローチしますか?
Joined Subclass:
http://www.xylax.net/hibernate/joinedsubclass.html
http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/hibernate/Hibernate_Reference_Guide/Mapping_declaration-joined_subclass. html
hibernate - jpa 親エンティティと同じ ID を持つ新しいエンティティを作成する方法 (JOINED 継承)
私の質問は、その ID を保持するエンティティのタイプを変更することに非常に似ていますが、代わりに、Table_per_class の代わりに InheritanceType.JOINED を使用しています。
これは、スーパークラスと同じ ID を持つ新しいサブクラスを作成するためだけに、テーブルを変更しないことを意味します。
要約すると、Person クラスと、Person を拡張し、同じ ID を持つ Doctor があります。データベースから Person を取得し、それを Doctor にする必要があります。Person エンティティのすべてのデータを保持しますが、Doctor エンティティ用に追加のデータを作成します。
医師をマージしようとすると、新しい ID が生成されますが、これは私には有効ではありません。
これが私が最初に試したことです
nhibernate - Joined-Subclass 問題の Hibernate サブクラス
継承する必要がある基本クラスを含むコア アセンブリを持つアプリケーションがあります。これらをデータベースに保存する必要があり、NHibernate について読んだ後、それを使用することにしました。
ただし、新しく継承したクラスの 1 つに問題があります。サブクラス マップをセットアップしましたが、保存すると、基本クラスのプロパティも、マッピングで割り当てた新しいプロパティも保存されません。
私のクラスは次のようにレイアウトされています: (小さなデモアプリから)
コア アセンブリ DataItem -> ユーザー
データベースに触れるものはすべて、ID、変更日などを処理するため、DataItem クラスを継承します。
私のテストでは、FirstName のみを持つようにユーザーをセットアップしました。
新しいユーザーを保存するとうまくいきます..ただし、ユーザーから継承してから、LastName という別のプロパティを追加し、この新しいオブジェクトを保存しようとすると.. INSERT INTO t_User (id) VALUES(? .. 名または姓を保存しようとしません.. 両方が設定され、マップされています。
私の nhibernate.config:
ご覧のとおり、2 つのアセンブリがあります。私の DAL は私のコアであり、NHibernateDemo は継承のためにコアを使用する Web アプリケーションです。
私のコア DataItem マッピング:
機能しない継承された NewUser マッピング!:
クラス NewUser を保存しようとすると、基本プロパティまたは新しく宣言されたプロパティから、他のプロパティ セットを保存しようとしないのはなぜですか?
これに対する助けや洞察を本当に感謝します..本当に単純なものが欠けているに違いなく、それを見ることができません。
ありがとう、
マイク
nhibernate - Hibernate 検索固有のサブクラス
NHibernate で特定の結合サブクラスをフィルタリングすることは可能ですか?
たとえば、次のクラスがあります。
NHibernate 検索を作成して、4 つの足を持つ猫を持つ人物を取得したいと考えています。
私はペットの属性(名前)を制限することしかできないようです...
c# - 親クラスの ID に基づく NHibernate キャッシュ オブジェクト
Animal と Dog のタイプについては、次の定義があります。オブジェクトの ID は AnimalID であることに注意してください。
データベースに次の情報があるとします。
最初に、OwnerID = 1 の Dog をクエリします。同じセッションで、OwnerID = 2 の Dog をクエリします。NHibernate のセッション キャッシュのため、2 番目のクエリは、OwnerID = 1 で IsStrong = True の Dog オブジェクトを返します。 OwnerID = 2 および IsStrong = False の Dog オブジェクトを返す必要があります。
NHibernate は ID (主キー) 列によってオブジェクトを自動的にキャッシュするため、Dog を 2 回目に要求すると、同じキーを持つオブジェクトを取得することになります。オブジェクトで ISession.Evict() を呼び出すことでこの問題を解決できますが、これはハックのようです。
より良い提案はありますか?
java - キーが親クラスにある場合に、1 対多のコレクションを結合されたサブクラスにマップする方法
1 対多のコレクションをサブクラスにマップしたいのですが、コレクションのキーは親クラスの属性です。
現在、私はAbstractFoo FooとBarクラスを次のようにマッピングしています:
実際、そのマッピングを使用すると、Hibernate は、abstractFoo ではなくテーブル foo で列 bar_fk を見つけようとします。
そのようなことをする方法はありますか?
nhibernate - NHibernate SqlQueryでサブクラス結合を生成するにはどうすればよいですか?
クエリにサブクラスの結合がないため、NHibernateで実際にエラーなしで実行されるSQLクエリを生成するのに問題があります。
この最小限の例を見てみましょう。
ここで、これをデータベースに単純にフィールドごとに結合したサブクラスマッピングを想像してみてください。パス/page/ page2 / page3に沿ってすべてのページを見つけるために、このクエリを思いつきました。
さて、これはクエリを実行するときに問題なく機能するようです。SqlQueryを使用してこれを生成してみましょう(簡略化され、最初の部分のみが表示されます)。
これにより、次のクエリが生成されます。
ただし、NHibernateがサブクラスContentPageの結合も追加した後にのみ使用可能なフィールドをフェッチしようとするため、このクエリにはSQLエラーが含まれています。NHibernateがたまたま使用している特定の命名スタイルに依存せずに(つまり、必要な結合を手動で生成する)、どういうわけかこれらの結合を追加することは可能ですか?
c# - NHibernate - 条件クエリを使用して特定の列とカウントを取得する
これは私のマッピングファイルです:
これは、結合されたサブクラスを持つ他のものです
基準を使用してこのクエリを作成するにはどうすればよいですか?
どうもありがとう!
どうもありがとう!それは私の問題の一部を解決しました。これは私がしました:
Contacto
エンティティのコレクションを作成するために Transformer を使用しましたが、問題はプロパティにありますApellido
。サブクラス Persona にあり、コレクションは親クラスのみで作成され、子クラスでは作成されません。
それを解決できるかどうか知っていますか?または私が持っている唯一の解決策は、トランスフォーマーを使用せずに各コレクションアイテムをスローし、各新しいオブジェクトを作成する Contacto エンティティの新しいコレクションを作成することですか?
ありがとう!!!
java - 外部キー関係を持つ休止状態のサブクラス
Hibernateで次のオブジェクト階層/データベースの関係を定義するのに助けが必要です
オブジェクトの意味から–エージェントは人から継承され、エージェンシーは組織から継承されます。それらは、複数のアドレスを関連付けることができるパーティから継承されます
データベースはで構成されています
pre>エージェンシー -ID -名前 -PartyID(Party.IDを参照) pre>パーティ。 -PartyIDc# - フィルタを使用して結合されたサブクラスでNHibernateの多対1
次のようなクラス設定があります。
子は、親の結合サブクラスとしてマップされます。チャイルデンは多対多のバッグとしてマッピングされています。バッグには、SoftDeletableFilterという名前のフィルターが適用されています。フィルタマッピングは次のようになります。
その問題は、Other.Childrenがロードされると、フィルターが親テーブルではなく子テーブルに適用されることです。NHibernateに親クラスにフィルターを適用するように指示する方法はありますか?
編集:これが親マッピングです: