問題タブ [orphan]
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.
git - Git Merge が孤立したブランチにコミットする
あなたができるかどうか、そしてコミットを私の孤立したブランチにマージすることに何か問題があるかどうか知りたいです。この特定の例では、私の Salesforce リポジトリにはマスター ブランチとプレリリース ブランチがありますが、サンドボックス環境には多くの場合、本番環境の一部ではないメタデータが含まれているため、それをバージョン管理したいのですが、クリーンなプレリリース ブランチとは十分に分離したいと考えています。
したがって、次のようになります。
c# - NHibernate: 親の変更 - 「削除されたオブジェクトはカスケードによって再保存されます」
タイトルの通り、基本的にやりたいことは子供の親を変えることです。しかし、そうしようとすると、「ObjectDeletedException: 削除されたオブジェクトはカスケードによって再保存されます (関連付けから削除されたオブジェクトを削除します)」という例外が発生します。
私は何時間もグーグルで検索してきましたが、見つけた解決策はどれもうまくいきませんでした!!
これらは私のクラスです:
クラス Entity は Id プロパティを持つクラスです。
これは親のマッピング (Parents.hbm.xml) です。
そして、これは私が子を別の親に再署名しようとするコードです:
しかし、その後、session.Flush()
上記の例外がスローされます。問題は、子が親を変更したため、カスケードのために NHibernate が子を排除する必要があることだと思いますが、別の親に再割り当てされたため、カスケードのために再保存する必要があります子供。
私はすでにマッピングを変更し、以前の親のコレクションから子を削除しようとしましたが(別の親に割り当てる前または後)、それらのどれも機能しませんでした...
どんな助けでも大歓迎です!!
ありがとう!!
php - Symfony2: 削除時に関連付けを切断する
と の 2 つのエンティティがBackground
ありAction
ます。aBackground
には多くの がありActions
ます。
を削除すると、外部キーをnullに保ちBackground
たいと思います。制約を満たす方法でエンティティを効果的に孤立させる。cascade={"remove"}とorphanRemovalに関する非常に多くの記事と質問を読みましたが、これらはすべて、孤立したアクションを削除する (私が望んでいることではありません) か、何もしないようです - その結果、整合性制約違反が発生します。 .Action
今のところ、私が見つけた解決策は、関連するアクションを反復処理し、フィールドを null にして永続化することでした。これは最善の方法とは言えません。
java - JPAで親エンティティのみを削除する方法
Person オブジェクトがあります。Person には、再び Person 型の manager プロパティがあります。
ジョンがマネージャーで、ボブが従業員だとします。John を削除しようとすると、Bob が (マネージャーなしで) 孤児になるため失敗します。それは私のユースケースで許可されるべきです。しかし、この関係を「オプション」とマークしても役に立ちません。Cascade はここでは何の意味もないようです。
これはJPAで可能だと思います。何か助けはありますか?
github - Github Pages - 新しい孤立したブランチ - 私のマスターはどこですか
github ページ ブランチ (プロジェクト ページ) を使用して、これまでの静的 Web ページの進行状況をクライアントに表示したいと考えています。私はこのページに出くわしました:
http://blog.teamtreehouse.com/using-github-pages-to-host-your-website
そこで、gh-pages という新しい孤立ブランチを作成するように言われました。私はそれをしました。ターミナルには「gh-pages」ブランチにいると表示されますが、git クライアントのソースツリーには空のマスターが表示されます。それは私が欲しかったものではありません。gh-pages ブランチにいることを本当に期待していたので、今は空になったマスターに何かをプッシュする勇気はありません。
stackoverflow で検索すると、 Github page shows master branch, not gh-pages にたどり着きました。
これは私の質問に非常に近いですが、答えは次のとおりです。
プロジェクト ページは任意のリポジトリの一部にすることができ、特別な > gh-pages ブランチから公開されます。これらはhttp://username.github.io/project-nameで参照できます。
だから私は本当に混乱しています... もうマスターにアクセスできませんか?何かをプッシュするとすぐに名前が「gh-pages」に変わりますか? Github のオンラインでも、古い量のブランチしか表示されず、gh-branch は表示されませんでした...
その質問に対する迅速な回答に非常に感謝しています。
よろしくお願いします。よい一日を。
M
java - Java の孤立オブジェクト 良いか悪いか?
Java プログラミングにおけるオブジェクト作成のベスト プラクティスを理解したい。以下に例を示します Javaの孤立したオブジェクトを確認して提案してください 良いか悪いか?
私はShape
インターフェースを持っています。
Circle implements Shape
Square implements Shape
Cube implements Shape
Sphere implements Shape
アプローチ 1 では孤立オブジェクトが発生し、アプローチ 2 では不要な参照が発生します。どのアプローチがベストプラクティスですか?
アプローチ #1
アプローチ #2
hibernate - 子を親から別の親に移行する際に orphanRemoval を true に設定する
重要なお知らせ :この投稿を読んでいる場合は、詳細な議論のためにこの投稿も検討することを検討してください。
親の子が別の親に移行される可能性があるのは、非常に一般的な慣行/状況/要件です。このような関係の逆側に をorphanRemoval
設定するとどうなりますか?true
例として、次のような単純な 1 対多の関係を考えてみましょう。
裏側(部門):
所有側(従業員):
次のような操作/アクションをマージしながら (department
はクライアントから提供された切り離されたエンティティです)、
もちろん、従業員の追加と削除は、関連付けられたエンティティの防御リンク (関係) 管理メソッドを使用して行う/処理する方がよい場合があります。
部門インスタンスは、クライアントによって提供されます。切り離された存在です。問題のクライアントによって実行される管理アクションに応じて、同じ部門または異なる部門になる可能性があります。その結果、クライアントによって提供された部門インスタンスが現在の によって保持されているものと異なる場合、追加する前に、それに関連付けられている逆側の現在の古いEmployee
部門によって保持されている従業員 ( ) のリストから最初に削除する必要があります。それは、新しく提供された従業員のリストに追加されます。employeeList
Employee
department
推測として、従業員の部門によって現在参照されている従業員のリストからインスタンスEmployee
を削除しているときに、データベースから行が誤って削除される必要がありますEmployee
-古い部門(この操作がトリガーされる前)、つまり、子を親から別の親の場合、子は別の親に養子縁組される前にネイティブの親から削除する必要があり、その子の行はデータベースから誤って削除されることになっています ( orphanRemoval = true
)。
ただし、データベース テーブルの従業員行は、更新された列の値でそのまま残ります。ステートメント以外の DML ステートメントUPDATE
は生成されません。
このように子を親から別の親に移行すると、データベース テーブルからそれらの子が誤って削除されることはありません。
現在、JPA 2.1 を持つ EclipseLink 2.6.0 を使用しています。
編集:
Employee
逆側のリストからエンティティが削除されるだけの場合 (つまり、削除後にリストに追加されず、別の親に移行されずに削除されただけ)、対応する行も通常どおりデータベースから削除されます( orphanRemoval = true
)ただし、Employee
エンティティ (子) がネイティブの親のリストから削除された後 (エンティティの移行)、エンティティ (子) が別の親のリストに追加されると、行は単純に更新されます。
プロバイダーは、親から別の親への子の移行を更新として検出するのに十分スマートであるように見えます。
この動作は、Hibernate (4.3.6 final) と EclipseLink (2.6.0) の両方で同じように見えますが、プロバイダー固有の動作 (移植性がない) である場合、信頼できません。JPA仕様では、この動作について何も見つかりません。