2012-03-09 1 views
0

で更新できませんメンバー変数に@Lobと注釈されたエンティティがあります。私はいくつかの計算を実行し、その後私はmerge()呼び出しを行います。これはステートレスBeanで行われます。何らかの理由でエンティティを更新しません。例外も例外ではありません。私はドットのstackoverflowのドットコムを助けてください、あなたは私の唯一の希望です。エンティティをbyte []メンバー変数

これは基本的に私が持っているものです。

マイエンティティ:

@Entity 
@Table(name="my_entity") 
public class MyEntity implements Serializable { 
    @Id 
    @GeneratedValue(strategy=GenerationType.AUTO) 
    @Column(name="id") 
    private long id; 

    @Lob 
    @Column(name="data") 
    private byte[] data; 

    // Getters and Setters for both variables... 
} 

その後、私は私のステートレスBeanを持っています。私は自分が持っているものを骨格にします。私はデータに作用する1分ごとに呼ばれるタイマーを持っています。

public @Stateless class MyBean implements IMyBeanRemote { 
    @PersistenceContext 
    private EntityManager em; 
    @Resource 
    javax.ejb.TimerService timerService; 

    @Timeout 
    public void doLogic(javax.ejb.Timer time) { 
     MyEntity e = getMyEntity(1L); 
     doMoreLogic(e); 
    } 
    private MyEntity getMyEntity(long id) { 
     return em.find(MyEntity.class, id); 
    } 
    private void doMoreLogic(MyEntity entity) { 
     entity.getData()[0] = 123; 
     em.merge(entity); 
    } 
} 

これは基本的に私のコードが行っていることを反映していると思います。私が最初にMyEntityを作成してpersist()すると、それが動作します。


これをすべて入力した後、どこででもそのデータを変更するかどうかを確認することにしました。私はそれを思い出し、デバッグテストとしてデータをリセットしていました。 =(全て解決!睡眠の

+0

あなたがポストにあなたのコードを追加することはできますか? –

答えて

0

不足は私がデータをリセットする前のデバッグコードが表示されないために発生する。

関連する問題