問題タブ [hibernate]
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.
hibernate - セッション内の別のオブジェクトでsaveOrUpdateを休止状態にする
セッションにロードされたその識別子を使用するオブジェクトがすでに存在する場合、Hibernateを使用してオブジェクトを保存する方法はありますか?
session.contains(obj)
同じIDを持つ別のオブジェクトではなく、セッションにその正確なオブジェクトが含まれている場合にのみ、trueが返されるようです。merge(obj)
オブジェクトが新しい場合、を使用すると例外がスローされます
hibernate - weblogicの休止状態からの巨大なNodeManagerLogs
weblogic 8.1の1つが、突然大量のログのログ記録とディスクの書き込みを開始しました。
私たちに面倒を与えるログはにあります
ログファイルのエントリは、何度も繰り返されるある種のエントリです。のようなもの
..。
どこにも設定されているデバッグ設定が見つかりません。管理対象サーバーのリモートスタートクラスパスと引数を調べました。
誰かがこのログファイルを制御する方向に私を向けることができますか?
java - Hibernate を使用してテキスト ファイルを操作する
Java アプリケーションでHibernateを使用してデータベースにアクセスしていますが、MS-SQL と MySQL でうまく機能します。しかし、いくつかのフォームに表示しなければならないデータの一部は、テキスト ファイルから取得する必要があります。テキスト ファイルとは、人間が判読できるファイルを意味します。行ごとに、CSV、タブ区切り、またはキーと値のペアにすることもできます。私のデータはこれと同じくらい単純ですが、私の好みはもちろん XML ファイルです。
私の質問は: hibernate を使用して、HQL、 Query 、 EntityManager 、およびファイルにアクセスするために Hibernate が提供するすべてのリソースを使用してこれらのファイルを読み取ることができますか? どのファイル形式を使用すればよいですか? また、ファイルをテーブルとして認識するように persistence.xml ファイルを構成するにはどうすればよいですか?
java - Java と休止状態を使用したデータの「セキュリティ」
私が現在取り組んでいるシステムには、ロールベースのセキュリティが必要ですが、これは Java EE スタックで十分に対応できます。このシステムは、ビジネス ドメインの専門家がコードを作成するためのフレームワークになることを目的としています。
ただし、データの要件もありますsecurity
。つまり、エンド ユーザーに表示される情報です。
これは事実上、データベース内の行 (および場合によっては列) の可視性を低下させることを意味します。
永続化のために Hibernate を使用しています。ただし、永続化の選択がビジネス ドメインの専門家に公開されないように、独自の注釈を使用しています。
@Secured
行ベースのセキュリティの場合、これは、エンティティ レベルなどで注釈を追加できることを意味します。これにより、基になるテーブルに追加の列が追加され、選択が制限されますか?
列ベースのセキュリティの場合、@Secured
おそらくクエリの生成を支援するか、アスペクトを使用して返された情報をフィルタリングする必要があるでしょうか?
これが休止状態のキャッシュメカニズムにもどのように影響するか知りたいですか?
他の多くの人も同じ問題を抱えていると思いますが、どうやってこれに取り組んだのだろうと思っていましたか?
とても有難い...
java - @OneToMany が Hibernate の継承で機能しない理由
私がやろうとしていることはかなり明確だと思います。@ManyToOne の人が UglyProblem クラスに継承されることを期待しています。ただし、「UglyProblem クラス (mappedBy="person") にそのようなプロパティは見つかりません」というような例外が発生します。
私が見つけたのはこれだけです。この背後にある理由を説明する Emmanuel Bernard の投稿を見つけることができませんでした。
残念ながら、Hibernate のドキュメントによると、「 @MappedSuperclass としてマップされていないスーパークラスのプロパティは無視されます。」
これは、これら2つのクラスがある場合、次のことを意味すると思います。
その場合、フィールドfoo
はクラス B にマップされません。これは理にかなっています。しかし、私がこのようなものを持っている場合:
クラス UglyProblem にはフィールドがid
ありname
、両方のクラスが同じテーブルを使用してマップされることを期待しています。(実際、これはまさに起こっていることです。もう一度確認しました)。私はこのテーブルを持っています:
私の質問に戻ります:
@ManyToOne の人が UglyProblem クラスに継承されることを期待しています。
他のすべてのマップされたフィールドは継承されており、ManyToOne の関係に対してこの例外を作成する理由が見当たらないため、私はそれを期待しています。
ええ、私はそれを見ました。実際、私の場合は読み取り専用ソリューションを使用しました。しかし、私の質問は「なぜ...」でした:)。休止状態チームのメンバーによる説明があることを知っています。見つけられなかったので質問させていただきました。
このデザイン決定の動機を知りたいです。
(私がこの問題にどのように直面したかに興味がある場合:hibernate 3を使用して構築されたプロジェクトを継承しました。それはJboss 4.0.something + hibernateがすでにそこにありました(すべて一緒にダウンロードします)。私はこのプロジェクトをJboss 4.2に移動していました。 2 そして、「@OneToMany mappedBy」の継承されたマッピングがあり、古いセットアップで正常に機能することがわかりました...)
java - 2 つの Java アプリケーションを実行している Hibernate キャッシュの一貫性を維持するにはどうすればよいですか?
私たちの設計には、jboss/webapp (読み取り/書き込み) である 1 つの jvm があり、休止状態 (jpa を使用) を介してデータベースへのデータを維持するために使用されます。このモデルには、3 ~ 5 レベルの深さの関係を持つ 10 ~ 15 の永続クラスがあります。
次に、このデータを使用するサーバーである別の jvm があります。継続的に実行されているため、長いデータベース セッションが 1 つだけあります (読み取り専用)。
現在、jvm 内キャッシュは関与していません。そのため、一方の jvm から他方の jvm に手動でシグナルを送ります。
webapp が一部のデータを変更すると、変更されたデータを再ロードするようにサーバーに通知します。私たちが見つけたのは、休止状態にデータをパージしてから再ロードするように指示する必要があるということです。データベースでフェッチ/マージを実行するだけでは、機能しません。主に、階層のいくつかのレイヤーの下にあるオブジェクトに関してです。
この設計に根本的な問題があるかどうか、または誰かがこれを行っていて、リロード時に休止状態で作業する方がうまくいったかどうかについての考え。
ありがとう、クリス
hibernate - Hibernate の Criteria API で値型のコレクションをクエリする
私のデータベースには、エンティティ テーブルがあります (エンティティと呼びましょう)。各エンティティは多数のエンティティ タイプを持つことができ、エンティティ タイプのセットは静的です。したがって、エンティティ ID とエンティティ タイプの名前の行を含む接続テーブルがあります。私のコードでは、EntityType は列挙型であり、Entity は Hibernate にマップされたクラスです。
エンティティ コードでは、マッピングは次のようになります。
ああ、私は注釈を使用していると言いましたか?
ここで、特定のエンティティ タイプのすべてのエンティティ オブジェクトに対して基準を使用して HQL クエリまたは検索を作成したいと考えています。
Hibernate フォーラムのこのページでは、これは不可能であると書かれていますが、このページは 18 か月前のものです。この機能が Hibernate の最新リリースの 1 つに実装されているか、または次のリリースで計画されているかどうか、誰か教えてもらえますか?
c# - (N) Hibernate - 複数のテーブルを 1 つのクラスに動的にマップすることは可能ですか?
GISオブジェクトに関する情報をGISオブジェクトのタイプ/クラス(道路、川、建物、海など)ごとに個別のデータベーステーブルに保存し、保存するメタデータテーブルを保持するGISソフトウェアを使用している状況がありますクラス名とその DB テーブルに関する情報。
これらの異なるクラスの GIS オブジェクトは、いくつかのパラメーター (説明と ID など) を共有します。これらの異なる GIS クラスのすべてを 1 つの共通 C# クラス (GisObject と呼びましょう) で表現したいと思います。これは、指定された GIS の GIS オブジェクトをリストするアプリケーションの非 GIS 部分から行う必要があることには十分です。クラス。
私にとっての問題は、メタテーブルから読み取られるパラメーターとしてテーブル名を受け取って使用する C# GisObject を作成するときに、NHibernate を使用してこれらのオブジェクトをマッピングして NHibernate に説明する方法です(2 つのステップで行うことができます。最初のステップでテーブル名を手動で取得し、GisObject データをプルするときにそれを NHibernate に渡します)。
この種の状況に対処した人はいますか?
java - Hibernate が clob 値を奇妙にクロップする
2 つのテーブル間に 1 対多の関係があります。many テーブルには clob カラムが含まれています。clob 列は休止状態では次のようになります。
したがって、基本的に、いくつかの置換を含むメモがある場合が"foo"
あり"fizzbuzz"
ます。したがって、私のメイン テーブルには ID 4 のメモがあり、私のテーブルにNOTE_JOIN_TABLE
は 2 つの行が"foo"
あり"fizzbuzz"
、両方ともメモと関係があります。
ただし、これらのいずれかが DB に挿入されると、より大きな置換値が最短になるようにトリミングされます。したがって、この場合、 DB には and の代わりに"foo"
andがあります。"fiz"
"foo"
"fizzbuzz"
なぜこれが起こっているのか分かりますか?コードのどこにもトリミングされていないことを確認しました。間違いなく休止状態です。
java - clob パラメーターをログに記録するための休止状態の取得
(私が解決しようとしている問題については、こちらを参照してください)
休止状態で、挿入する clob 値をログに記録するにはどうすればよいですか。整数など、他の値の型をログに記録しています。
私のlog4j設定には次のものがあります:
次のような出力が生成されます。
parameter: 3
ただし、どれが私たちの clob であるかは表示されないことに注意してください。
私が本当に欲しいのは次のようなものです:
これをログに表示するにはどうすればよいですか?