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

如何储存blob对象在sql server?实体set blob对象保存就报错,不set blob对象就没问题

@Test
    public void writeBlob() throws Exception{
        Students s=new Students(1, "张学友", "男", new Date(), "香港");
        File file=new File("d:"+File.separator+"boy.jpg");
        InputStream is=new FileInputStream(file);
        Blob img=Hibernate.getLobCreator(session).createBlob(is, is.available());
        s.setPicture(img);
        session.save(s);

    }

一月 05, 2017 3:03:04 下午 org.hibernate.AssertionFailure <init>
ERROR: HHH000099: an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session): org.hibernate.AssertionFailure: null id in hibernate_test01.Students entry (don't flush the Session after an exception occurs)

提问者:逅会无期 2017-01-05 15:01

个回答

  • 波特0
    2017-04-09 20:47:35

    这一般都是导包的问题,你检查下你导入的包文件一不一致

  • _不见不念_Q
    2017-01-09 11:22:22

    查看一下你的数据库中图片字段对应的数据类型是否设为blob,我是这个原因。

  • WayLeung
    2017-01-06 15:29:27

    留意一下bean包中的持久化类的对应数据类型是否修改为Blob  还有对应的hbm.xml里面 列的property的type也是否改为java.sql.Blob