2016-07-07 7 views
0

作業中のプロジェクトで遅延初期化に関する問題が発生しました。@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)を使用してデータベースを参照していますが、通常は正常に動作しますが、依存エンティティ。TransactionAttributeがサポートされていない遅延例外

これらの依存エンティティは、すべて「fetch = FetchType.LAZY」(注釈が付いている必要があります)という注釈が付けられており、Hibernate.initialize(何か)を使用して取得しようとしています。私がそうすると、org.hibernate.LazyInitializationExceptionが発生します:プロキシを初期化できませんでした - セッションがありません。

persistence.xmlに<property name="hibernate.enable_lazy_load_no_trans" value="true">を使用しようとしましたが、成功しませんでした(これは何もしなかったようなものです)。

データソースから情報を取得するためにトランザクションを開いて、トランザクション属性をサポートされていないものとして保持する方法があるのはなぜですか?

答えて

1

エンティティとその関係のビューを同じにするには、リレーションシップを同じトランザクションIIRCにロードする必要があります。 TxなしのBeanを使用している場合、永続性は一貫性を保証できません。

関連する問題