Hibernateはクエリは@Transactionalコンテキストのうち、@RestControllerで実行しました

マヌエルBonjean:

私は春ブーツ2.0とIネストされたオブジェクトの依存関係にマップされたエンティティJPAの応答を持っている中でアプリケーションを書いています。

I負荷と@RestControllerに戻り、応答サービスに含まれているエンティティ。

私は休止状態で実行されるクエリは、オブジェクトがネストされたobectsを取得するには、コントローラで(取引の境界の外に)あるときに気づいた(レイジーは、オブジェクト参照定義されました)

それはどのようにpossibileすることができますか?

ValerioMC:

春ブーツにビューで開き、セッションはデフォルトで有効になっています。

あなたはそれを無効にする必要があります application.properties

spring.jpa.open-in-view=false

ジャクソンはまた、レイジーが定義された参照オブジェクトをシリアル化しようとする可能性があるため(あなたは春ブーツ2を使用しているため)、あなたはhibernate5のためにジャクソンのデータ型を追加する必要があります

@Bean
public Module hibernate5Module() {
    return new Hibernate5Module();
}

そして、あなたのpom.xmlで

<dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-hibernate5</artifactId>
</dependency>

バージョンなしのそれは、ばねブート親によって取得されますので、

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=189114&siteId=1