Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在数据库Spring Hibernate持久化中存储BLOB_Java_Oracle_Hibernate_Spring_Persistence - Fatal编程技术网

Java 在数据库Spring Hibernate持久化中存储BLOB

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

这是我遇到的一个问题,我尝试了到目前为止提供的大多数解决方案,但似乎没有什么效果。由于某种原因,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(实体),它可以在我的应用程序的其他部分工作

非常感谢您的帮助。 谢谢
Chris

我用
字节[]
代替ob
Blob
类型,这样很好

@Lob
@Column(nullable = false, length = 2097152)
private byte[] data;