这是一个遇到的问题,并尝试了迄今为止我提供的大多数解决方案,似乎没有什么工作,这使得更难修复的问题是由于某种原因,hibernate会话不会将其详细信息打印到日志提供我在错误跟踪方面很少。我想将转换为blob的Json字符串上传到数据库中。如果有人知道我哪里出错或者可以提供和指示这将是很好的,因为我努力解决这个问题。
@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;
}
}
来自上传的服务
的方法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";
}
我正在使用在我的应用程序的其他部分中工作的基本hibernatetemplate.save(实体)。
非常感谢任何帮助。 谢谢 克里斯
答案 0 :(得分:2)
我使用byte[]
代替ob Blob
类型,这样就可以了。
@Lob
@Column(nullable = false, length = 2097152)
private byte[] data;