0

2 つのスレッドがあり、そのうちの 1 つはテキスト フィールドをデータベースに書き込み、もう 1 つはこのフィールドを読み取ろうとしますが、できません。

フィールドには次の注釈があります。

@Lob
    @Column(name = "response_soap")
    @Basic(fetch = FetchType.LAZY)
    public String getResponseSoap() {
        return responseSoap;
    }

どちらのスレッドも Web アプリケーションの一部です。どちらも同じ weblogic サーバーで実行されています。すべてのトランザクションがコミットされます。データベースにフィールドがあります。新しいエンティティマネージャーを作成するたびに。

4

2 に答える 2

1

どのようなエラーが表示されますか?

リフレッシュ em.refresh(object) を使用してみてください

オブジェクトをシリアル化していますか? LAZYなのでシリアライズ前にアクセスしないとシリアライズするとnullになります。EAGERにしてみてください。

于 2012-06-20T13:05:45.240 に答える
-1

レイジーロードに設定できるのは多対多と一対多のみだと思います

1 対 1、多対 1、基本はすべて Egar です

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Lazy_Basics

于 2012-12-19T04:09:37.270 に答える