问答详情
源自:3-4 [Hibernate单表操作] 对象类型

可以打印出图片的大小来,测试的时候是绿色的条, 但是数据库里面没有任何数据。

代码如下:

@Test

public void writePicture() throws Exception{

Student student5 = new Student(005, "Naruto", "男", new Date(), "火之国");

File pictureFile = new File("c:"+File.separator+"zhang"+File.separator+"Naruto.jpg");

//System.out.println(pictureFile);

InputStream input;

try {

input = new FileInputStream(pictureFile);

Blob image = Hibernate.getLobCreator(session).createBlob(input, input.available());

System.out.println("照片长度:"+image.length());   //这时候打印出的数据是:10505

student5.setPicture(image);

session.save(student5);

System.out.println("保存成功!");

} catch (FileNotFoundException e) {

System.out.println("图片文件没找到");

e.printStackTrace();

}catch (IOException e) {

System.out.println("Bolb对象创建失败,input.available()错误!");

e.printStackTrace();

}

}

这时候测试时,是绿色的条,但是数据库里面没有数据,其他id什么的数据都没存进去?这是为什么呢?



提问者:mo_fei 2017-02-22 11:44

个回答

  • mo_fei
    2017-02-22 13:14:20

    谢谢大家  解决了。

    得加上这个:

    session.doWork(new Work() {

    @Override

    public void execute(Connection connection) throws SQLException {

    connection.setAutoCommit(true);

    }

    });

    都糊涂了!!!好低级的错误,吃饭回来后才看到。