問題タブ [hibernate-5.x]

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 投票する
1 に答える
646 参照

java - hibernate セッションの初期化について

私は使用してSpring 4.2.1おりHiberante 5、Spring Bean 定義で宣言されたセッションを次のように春が初期化する方法を理解しようとしています。

いわゆるorg.springframework.orm.hibernate5.LocalSessionFactoryBeanが実装されていることがわかりましたFactoryBean<SessionFactory>これを考慮に入れるSessionFactoryと、定義をクラスに注入するように定義しているorg.springframework.orm.hibernate5.LocalSessionFactoryBeanのに、最終的に のインスタンスになってしまう理由は明らかですSessionFactory。さて、私が混乱したのはメソッドgetCurrentSessionです:

これは、実際のセッション作成をSpringSessionContextに委任します。私の場合、このコードによって取得されています。

しかし、session実際には、それ自体がプロパティprotected transient SessionFactoryImpl factoryorg.hibernate.internal.SessionImplを持つ直接基本クラスのインスタンスです。org.hibernate.internal.AbstractSessionImpl

したがって、私の場合は実際のインスタンスを保持SessionFactoryするCurrentSessionContextプロパティがあります。しかし、再びタイプのプロパティがあります。SessionHolderSessionSessionImplSessionFactory

循環が理解できません。ちょっと説明していただけませんか。

0 投票する
9 に答える
12514 参照

java - Hibernate で奇妙な ClassCast 例外が発生する (トランスフォーマーを使用)

このコード:

このメソッドを呼び出す:

私に ClassCastException を与えます -> トレースの一部:

実際、Hibernate のソース コードを調べると、これを実行しようとするため、これはかなり奇妙です。

これは意味がありません...

target は Class タイプで、このコードはそれを Map にキャストしようとします。

なぜそれをしようとするのですか?

どんなポインタでも大歓迎です...

私はHibernate 5を使用しています(そして3からアップグレードしています)...

編集:Spring (4.2.1.RELEASE; アップグレードも) を使用して、デプロイ時にこれらのメソッドを呼び出します。デバッグ ポインターも大歓迎です...

編集 2: (リクエストに応じて FactCodeDto クラス全体)

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

hibernate - Hibernate 5.0.3 でインテグレーターを追加する

特定の EventListener をトリガーするために、Hibernate 5.0.3 にインテグレーターを登録しようとしています。Hibernate Getting Started Guide で提供されている例の 1 つを変更しています。うまく機能する元の jUnit テスト クラスは次のとおりです。

setUp() メソッドを次のように変更するだけです。

テスト ケースを実行すると、次のエラーが発生します。

これは私の Integrator クラスです (ただし、Integrator を BootstrapServiceRegistryBuilder に適用しないと setUp() メソッドも失敗するため、これは問題ではないと思います):

そして最後に私の hibernate.cfg.xml:

ご助力ありがとうございます。

0 投票する
0 に答える
589 参照

java - Hibernate 5 マルチテナンシーとトランザクション

Hibernate 5 のマルチテナンシー機能を使用して、現在シングル テナントであり、Hibernate 4 を使用するアプリケーションでマルチテナンシーを実装しています。トランザクションが確実に管理されるように、Spring に依存しています。

ただし、Hibernate 5 では @Transactional 属性を追加するとエラーが発生します SessionFactory configured for multi-tenancy, but no tenant identifier specified

同様の問題への回答に基づいて、のメソッドが使用されCurrentTenantIdentifierResolverているという事実を説明するためにインターフェイスを実装しました。私はすでにインターフェースも実装しています。getCurrentSession()SessionFactoryMultiTenantConnectionProvider

ただし、 ClassNotFound 例外が発生していますorg.hibernate.engine.transaction.spi.TransactionContext。これは、このクラスが Hibernate 5 パッケージで使用できないためであることを理解しています。

Spring 4.1.6 と Hibernate 5 を使用してトランザクションを管理するための適切なアプローチは何ですか?

0 投票する
0 に答える
72 参照

java - データベースのHibernate 5動的数

Hibernate の複数データベースのサポートについて質問があります。

複数の db サーバーに数千人の顧客が分散しています。各サーバーには約 500 Dbs があります。したがって、すべての顧客は独自のデータベースを持っています (すべてのスキーマはまったく同じで、もちろん内容が異なるだけです)。

その場で Hibernate スイッチ データベースを作成する方法はありますか? すべての調査の結果、使用されているすべてのデータベース (2 つまたは 3 つの異なるデータベースなど) を既に知っているソリューションが得られましたが、動的な問題の解決に役立つものはありませんでした。

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

hibernate - Hibernate 5.x への移行

アプリケーションを Hibernate 3 から Hibernate 5 に移行していDatabaseMetadataますTableMetadata。したがって、TableMetadataオブジェクトを使用して、列のサイズ、タイプなどの DB テーブルの列情報を取得します。Hibernate 5DatabaseMetadataクラスでは非推奨になったようです (削除されました!)。DatabaseMetadataHibernate 5のクラスに代わるものはありますか? またはTableMetadata、Hibernate 5 env に入る方法は?