問題タブ [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.

0 投票する
2 に答える
1464 参照

java - Spring + Hibernate: 構成可能な PK ジェネレーターを使用するには?

Web アプリケーションには Spring + Hibernate を使用します。

この Web アプリケーションは、関連のない 2 つの運用サイトにデプロイされます。これら 2 つの運用サイトは Webapp を使用して Person データを並行して生成および使用します。

私がしなければならないことは、これら 2 つの無関係な本番サイトで生成された Person がすべて個別の PK を持っていることを確認して、いつでもこれら 2 つのサイトからの Person データをマージできるようにすることです。

私に課せられたさらなる制約は、これらの PK が に収まるということLongです。そのため、UUID を使用できません。

私がやろうとしているのはS_PERSON、ジェネレーターとしてシーケンスを持つ現在の休止状態のマッピングを変更することです:

配置サイトの Spring 構成ファイルに応じてPERSON_ID、PK が異なるシーケンス (おそらくS_PERSON_1と) から生成されるように、構成可能なものに変換します。S_PERSON_2

もちろん、

うまくいかないので、何か他のことを考え出さなければなりません...ジェネレーターは、シーケンスまたは別のものを順番に指す構成可能なBeanを指す必要があると思いますが、それを行う方法がわかりません...

アイデアや回避策はありますか?

ありがとう!

0 投票する
2 に答える
10253 参照

hibernate - Hibernate:現在のレコードと前のレコードの比較

インメモリ Hibernate エンティティの現在の値をデータベースの値と比較したい:

CODEBLOCK#1では、そのnewEntity.getProperty()="new value"ANDを取得しますoldEntity.getProperty()="new value"(もちろん、期待していoldEntity.getProperty()="old value"ましたが)。実際、2 つのオブジェクトはメモリ内でまったく同じです。

いじって、それを取り除くようHibernateSessionFactory.getSession().evict(newEntity)に設定しようとしました(比較のためだけに必要です):oldEntity=null

そして今、2つのエンティティは別個のものですが、もちろん私は恐ろしいorg.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session.

何か案が?

EDIT:ダブルセッション戦略を試しました。HibernateSessionFactoryセッションのマップを実装するように変更した後...

oldEntity ノートを印刷しようとしているときに、単体テストがハングします... :-(

0 投票する
3 に答える
1466 参照

hibernate - UserType は Hibernate に参加します

この状況で、休止状態に「正しい」値に対して「正しいこと」をさせることは可能ですか?

問題は、prop が、結合されたテーブルで異なる表現を持つ UserType であることです。表 A では整数として表され、表 B では char として表されます。したがって、eq テストは、1 == 'a' が多いか少ないかを確認するために変換されますが、これは false ですが、1 または 'a' で表されるオブジェクトは同じである必要があるため、true と比較する必要があります。

0 投票する
2 に答える
569 参照

java - エンティティクエリメソッド、「持続」メソッドなどをどこ (どのレイヤー) に配置するか?

いくつかの JPA/Hibernate エンティティを含む SEAM アプリがあります。そして、クエリ、永続化メソッドをどこに置くべきか疑問に思っています。

デフォルトの選択では、注入されたセッション Bean レイヤーに配置されているようです

しかし、エンティティ自体にメソッドが必要だと思います。長所/短所は何ですか?

  1. テスタビリティ?
  2. 素敵?
  3. パフォーマンス?

また、セッション Bean ではなくエンティティのメソッドから EntityManager などと対話するためのベスト プラクティスへのリンクを持っている人はいますか?

ベスト、アンダース

0 投票する
5 に答える
5944 参照

java - JPA/Hibernate エンティティ クラスと同期のベスト プラクティスは何ですか?

私が見た JPA/Hibernate エンティティ Bean クラスのほとんどの例では、明示的な同期が行われていないようです。ただし、トランザクションを構築するコンテキストで、これらのオブジェクトに対して getter/setter を呼び出すことは可能です。また、これらのメソッドを複数のスレッドで呼び出すこともできます (ただし、これは異常で奇妙なことかもしれません)。

複数のスレッドにまたがって構築されている場合、オブジェクトの状態への変更が失われる可能性があるようです。これは悲しいことです。

では、同期のベスト プラクティスを除外することはありますか? Hibernate のインストルメント化されたコードは適切な同期を処理していますか?

例として:

手裏剣のメソッドには同期が必要ですか? 私の忍者が手裏剣を失うことは絶対に望んでいません。

0 投票する
5 に答える
790 参照

hibernate - アプリが永続化レイヤーまたはリポジトリを使用する場合、DBA の役割はありますか?

1 つのケースではHibernateを使用し、2 つ目のケースでは Hibernate と Javaコンテンツ リポジトリ(具体的にはJackRabbit ) の組み合わせを使用する 1 組のアプリケーションの再構築を行っています。

再設計の重要な課題はパフォーマンスの向上であるため、アプリケーションの設計と開発にDBAを導入する価値があるかどうか疑問に思っています。

実動データベースの管理に DBA を関与させることの価値について、私が疑問を呈しているわけではないことに注意してください。しかし、過去のプロジェクトでは、優れた DBA が設計およびコーディング フェーズに関与し、データ構造を最適化する方法を考え出し、ストアド プロシージャにコードを挿入することが不可欠でした。

しかし、データベース構造が Hibernate と JackRabbit によってほぼ完全に管理されていることを考えると、それらを最適化する余地はあまりありません。確かに、それらがうまく機能しないことがわかった場合、DBA は潜在的に問題を特定し、それらを改善するためにパッチを提出することができますが、アプリケーションの方法で多くのことをしたい (またはできる) かどうかはわかりません-特定のチューニング。

このタイプのアプリケーションでの DBA の役割について考えるもう 1 つの理由は、パフォーマンスの問題の大部分が永続化レイヤーの上にある可能性が高いことです。つまり、データベース、休止状態、または JackRabbit が遅すぎるということではありません。データを構造化してプッシュするのはあまり良くありません。これを修正するにはデータ モデリングが必要ですが、実装媒体はデータベース テーブルと SQL ではなく、XML ファイルと Java コードです。DBA は通常、この種のことについてよく知っていますか?

永続化レイヤーの上に構築されたアプリケーションの設計と開発において DBA の必要性を完全に否定できないのは、懐疑論です。事前にパッケージ化されたソリューションを使用することで、特定のアプリケーションのデータベース最適化の必要性が完全になくなるとは思えません。

キーポイントがありませんか?熟練した DBA は、休止状態の構成ファイルを微調整して、アプリの特定のユース ケースで非常に高速に処理できますか? DBA が DB 自体を手動で調整したり、インデックスを作成したりせずに、高負荷の Hibernate アプリを実行することを検討するのは狂気ですか? それとも、XML ベースのデータ モデルと抽象化された永続化レイヤーの最適化を専門とする新しい生き物が開発環境に登場するのでしょうか?

0 投票する
2 に答える
1469 参照

ajax - Spring + Hibernate ベースのアプリケーション バックエンドを純粋な HTML および AJAX ベースのクライアントに接続するにはどうすればよいですか?

AJAX で DAO のメソッドを呼び出したいです。私はそれでかなり新しいので、それを行うための最良の方法は何かを尋ねたいと思います。Bean を Web サービスとして公開し、jQuery などで呼び出すことはできますか? それは不可能だと思います:) Direct Web Remotingについても読んだことがありますが、どちらに進むべきかわかりません...

ここには経験豊富な人がたくさんいるので、方向性を教えてくれると思います..よろしくお願いします

0 投票する
5 に答える
28777 参照

java - ORA-00942: table or view does not exist : How do I find which table or view it is talking about

We're running a java/hibernate app going against ORACLE 10g in TESTING. Once in a while, we're seeing this error:

ORA-00942: table or view does not exist

Is there a way to find out which table/view(s) ORACLE is talking about ?

I know that I can add extra levels of logging in hibernate which will show all the SQL that it executes on ORACLE and then run that SQL to figure out which TABLE/VIEW is missing or missing permission. But given that it is in TESTING/STAGING, that will slow down performance.

Is there a simple way to narrow down on the Table/View Name ?

UPDATE :

Just so you know, I don't have control over the Oracle DB Server Environment.
I enabled Hibernate tracing/logging and found a VALID SQL. I even put Wireshark(which is a TCP packet filter) to see what hibernate actually sends and that was a valid SQL. So, why would Oracle complain about it once in a while and NOT always.

0 投票する
22 に答える
152973 参照

java - JPA と Hibernate - 基準と JPQL または HQL の比較

CriteriaまたはHQLを使用することの長所と短所は何ですか? Criteria API は、Hibernate でクエリを表現するための優れたオブジェクト指向の方法ですが、Criteria クエリは HQL よりも理解/構築が難しい場合があります。

Criteria と HQL はいつ使用しますか? どのユースケースで何を優先しますか? それとも単に好みの問題ですか?

0 投票する
1 に答える
6002 参照

java - 複合キーを使用した Hibernate @ManyToMany マッピング

どちらも複合主キーを持つ 2 つのテーブル間で ManyToMany 関係をマップしようとしています。

そのため、LSFOCTB の休止状態モデル マッピングで、次のことを試しました。

ゲッター前。しかし、うまくいきません...遠隔コレクションにアクセスしようとしたときのエラーは次のとおりです。

ManyToMany リレーションシップで hibernate マッピングを機能させることができましたか? もしそうなら、私のマッピングの何が問題になっていますか? ご協力ありがとうございました !