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

来源:3-4 [Hibernate单表操作] 对象类型

mo_fei

2017-02-22 11:44

代码如下:

@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什么的数据都没存进去?这是为什么呢?



写回答 关注

1回答

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

    谢谢大家  解决了。

    得加上这个:

    session.doWork(new Work() {

    @Override

    public void execute(Connection connection) throws SQLException {

    connection.setAutoCommit(true);

    }

    });

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

Hibernate初探之单表映射

Java持久化框架Hibernate入门教程,掌握Hibernate基本概念

74808 学习 · 793 问题

查看课程

相似问题