Java 在数据库Spring Hibernate持久化中存储BLOB
这是我遇到的一个问题,我尝试了到目前为止提供的大多数解决方案,但似乎没有什么效果。由于某种原因,hibernate会话不会将其详细信息打印到日志中,这使得问题更难解决,因为在错误跟踪方面,它给我提供的信息很少。我想将转换为blob的Json字符串上传到数据库中。如果有人知道我哪里出了问题,或者可以提供一些建议,这将是非常好的,因为我正在努力独自解决这个问题Java 在数据库Spring Hibernate持久化中存储BLOB,java,oracle,hibernate,spring,persistence,Java,Oracle,Hibernate,Spring,Persistence,这是我遇到的一个问题,我尝试了到目前为止提供的大多数解决方案,但似乎没有什么效果。由于某种原因,hibernate会话不会将其详细信息打印到日志中,这使得问题更难解决,因为在错误跟踪方面,它给我提供的信息很少。我想将转换为blob的Json字符串上传到数据库中。如果有人知道我哪里出了问题,或者可以提供一些建议,这将是非常好的,因为我正在努力独自解决这个问题 @Entity @Table(name="workout") public class Workout implements Seriali
@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(实体),它可以在我的应用程序的其他部分工作
非常感谢您的帮助。
谢谢
Chris我用
字节[]
代替obBlob
类型,这样很好
@Lob
@Column(nullable = false, length = 2097152)
private byte[] data;