問題タブ [one-to-one]
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.
java - 休止状態が1対1で逆になった
外部キーによって1対1の関係にある必要がある2つのクラスAとBがあります。Aには主キーとしてa_idがあり、Bにはa_id外部キーがありますしかし、クラスBにAの識別子のみを認識させたい(つまり、クラス B のタイプ A のフィールド)、A は B クラス全体をロードします。
やってみた(Aクラス)
しかし、休止状態は参加しようとします
それ以外の
期待される動作をどのように達成できるかについてのアイデアはありますか?
ありがとう
hibernate - 複合キーと非プライマリ プロパティを使用した Hibernate の 1 対 1 マッピング
だからここに私の問題があります。私はこれらの 2 つのテーブルを持っていますが、これらは単独でうまくマップされます。無関係なので削除した追加フィールドがいくつかあります。アイテムの所有者のために、Item と ItemAdminScrtyGrp の間の 1 対 1 のマッピングが必要です。アイテムの所有者を取得するために使用する SQL を含めました。データベース スキーマを変更することはできません。複合キーの一部と非プライマリ プロパティを組み合わせてマッピングする方法はありますか?
休止状態のマッピング
SQL
ご協力いただきありがとうございます。
hibernate - @OneToOneアノテーションを使用してテーブルから削除する
私はJPA2とHibernateの実装を使用しています。
私はこのような単純なマッピングを持っています:
ここで、トピックにもあるPollオブジェクトを削除すると、エラーが発生します。
java.sql.SQLException:整合性制約違反FKCC42D924982D3F4Bテーブル:ステートメント内のトピック[id =?のポーリングから削除]
別のテーブルに参照がある場合、ポーリングレコードを削除できないためだと理解しています。どうすればこの問題を解決できますか?トピックテーブルでpoll=nullを手動で設定する必要がありますか、それともより良い解決策がありますか?
c# - 1 対 1 でマップされたクラスのネストされた型またはその他のソリューション
何らかの方法でカプセル化する機能が必要なクラスがあります。
私はネストされたクラスを考えていて、その機能といくつかの状態をそれに入れました。これら 2 つのクラスの関係は 1 対 1 です。
宣言する必要がある外部クラスのメンバー変数またはメソッドにアクセスするための問題でstatic
あり、私はそれを望んでいません。別の解決策は、外部クラスの参照を内部クラスに渡すことです。
私の問題のベストプラクティスは何ですか?
nhibernate - マップの1対1の関係では挿入が許可されていません
ユーザーからUserDetailsテーブルへの1対1のマッピングを設定しようとしています。データベースに次のテーブルがあるとします。
次のpocoクラスを作成しました。
流暢にマッピングされているもの(xmlマッピングは非常に似ていることに注意してください。知っているのがxmlマッピングだけの場合でも、ガイダンスをいただければ幸いです):
すべてが正しく表示されますが、私が言う場合:
エラーが発生します:
"NHibernate.Id.IdentifierGenerationException:null idが生成されました:UserDetails。"
誰かが私が間違ったことを見せてくれたら本当にありがたいです。ありがとう
編集: JamieIdeの提案の礼儀。ユーザーマッピングを次のように変更しました。
しかし、ユーザーを挿入すると、次のエラーが発生します。
System.ArgumentOutOfRangeException:インデックスが範囲外でした。負ではなく、コレクションのサイズ未満である必要があります。」
参照にCascade.All()を追加すると、生成されたnullIDについて取得していた元のエラーが表示されます。
java - JPA/共有主キーを使用したHibernateの単方向1対1マッピング
JPA(プロバイダー:Hibernate)と連携するために一方向の1対1の関係を取得しようとすると非常に苦労しています。私の意見では、これはそれほど面倒なことではないはずですが、明らかにJPA/Hibernateはそれに同意しません;-)
問題は、変更できないレガシースキーマをマップする必要があることと、このスキーマが2つのエンティティ間で共有される主キーを使用することです。これは同時に1つのエンティティの外部キーです。
簡単なTestCaseを作成しました。
DBは次のようになります。
親(= 1対1の所有側)は次のようになります。
子供:
JPAが子のIDを割り当てる方法を知らないという問題を完全に理解しています。ただし、Hibernatesの「外部」キージェネレーターを使用しようとしましたが、これも成功しませんでした。これは、子から親への逆参照が必要であり、望ましくないためです。この問題は私にはそれほど珍しいことではないようですが、ここで何が欠けていますか?解決策はありますか?純粋なJPAで解決策が提供されない場合は、Hibernate拡張機能を使用することもできます。
正しい振る舞いに対する私の期待は次のとおりです。子供を付けたまま親を維持しようとすると、次のようになります。
- シーケンスからIDを取得し、親に設定します
- 親を永続化する
- 子に親のIDを設定する
- 子を持続させる
「スタンドアロン」の子(entityManager.persist(aChild)など)を永続化しようとすると、RuntimeExceptionが発生します。
どんな助けでも大歓迎です!
sql-server - Fluent Nibernate と HasOne() の問題
流暢な nhibernate と 1 対 1 の関係を築くにはどうすればよいですか? 私はms sql server 2008を使用していますが、データベースダイアグラムビューアーでdbテーブルを見るたびに、1対1の関係を持つべきテーブルにそれらがないようです。
だから私はこれを試しましたが、うまくいきませんでした。
nhibernate - NHibernate - 1 対 1 のマッピング
Person クラスと Employee の間には 1 対 1 の関係があります。INSERT が Person から Employee にカスケードすることを期待しています。ただし、これは起こりません。1 対 1 の関係要素で cascade='all' と cascade='save-update' を試しましたが、うまくいきませんでした。また、ソース コード全体をhttp://bit.ly/gnkxBr (3.52 MB)にアップロードしました。
my オブジェクトの構造は次のとおりです。
以下に示すマッピングファイル:
nhibernate - 1対1の指定列
次のマッピングを取得しました。
テーブル(疑似):
私の問題は、拡張機能をフェッチするときにnhibernateがusers.extension_idではなくusers.idを使用することです。私のマッピングは何らかの形で間違っていますか?
アップデート
I changed to a many-to-one
binding, and now it works. Guess I've must misunderstood how one-to-one
is used?
django - django_tablesと、関連するマネージャーを介して1対1の関係を逆方向にたどる
django-tablesを使用して、いくつかのモデルから並べ替え可能なテーブルを作成しようとしています。
http://elsdoerfer.name/docs/django-tables/types/models.html#spanning-relationshipsには、関係をまたぐことができると書かれていますが、「逆方向」に行うのは困難です。
これが私のモデルと表です:
たとえば、テンプレートでmy_average_priceを使用しようとすると、次のエラーが発生します。
それを機能させる方法はありますか?
すべての列、および関連する関係の列も、並べ替え可能である必要があります。