2011-01-18 11 views
0

これは、私が今まで提供してきたソリューションの大部分を試して試したものですが、これを修正するのが難しい問題は何らかの理由でHibernateセッションがその詳細をログに記録して、エラートレースのほんの少しだけ私に提供します。私はBlobに変換されたJsonの文字列をデータベースにアップロードします。誰かが私がどこに間違っているのかを知っていれば、これを解決するために苦労しているので、これは素晴らしいでしょう。私は自分のアプリケーションの他の部分で動作し、基本的なhibernatetemplate.save(エンティティ)を使用していますデータベースのSpringでのBLOBの保存Hibernateの永続性

public String uploadWorkout(String json){ 
    Workout w = new Workout(); 
    w.setUsername("cmac458"); 
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
    Date date = new Date(); 
    w.setAdded_date(date.toGMTString()); 
    w.setWorkout(getBLOBfromJSON(json)); 
    w.setWorkout_id(4); 
    workoutDao.getSession().save(w); 
    return "done"; 

    } 

アップロードするtrysサービスから

@Entity 
@Table(name="workout") 
public class Workout implements Serializable{ 


    private static Logger logger = Logger.getLogger(Workout.class); 


    @Id 
    @Column(name="workout_id") 
    private int workout_id; 

    @Column(name="username") 
    private String username; 

    @Column(name="added_date") 
    private String added_date; 

    @Lob 
    @Column(name="workout") 
    Blob workout; 

    public int getWorkout_id() { 
     return workout_id; 
    } 

    public void setWorkout_id(int workout_id) { 
     this.workout_id = workout_id; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 

    public String getAdded_date() { 
     return added_date; 
    } 

    public void setAdded_date(String added_date) { 
     this.added_date = added_date; 
    } 

    public Blob getWorkout() { 
     return workout; 
    } 

    public void setWorkout(Blob workout) { 
     this.workout = workout; 
    } 


    } 

方法。

ここのお手伝いが大変ありがとうございます。 ありがとう クリス

答えて

2

私はbyte[]の代わりにBlobタイプを使用していますが、うまくいきます。

@Lob 
@Column(nullable = false, length = 2097152) 
private byte[] data; 
関連する問題