hibernate4 存储图片

问题描述

org.hibernate.exception.SQLGrammarException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'?1姯?-駭0⒗S=i偋??G伤G?翤篘+O綨'O糿視剈股摦+縶怽'???[08榅?f'atline1用blob类型存储图片时,出现以上异常,字段检查无误,没有包含关键字存储文本可以,存储图片就不行映射文件如下:<?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--Generated2014-8-711:22:19byHibernateTools3.4.0.CR1--><hibernate-mapping><classname="txlong.hibernate.pojo.Student"table="students"lazy="false"><idname="studentId"type="java.lang.Integer"><columnname="student_id"/><generatorclass="native"/></id><propertyname="studentName"type="java.lang.String"><columnname="student_name"length="16"/></property><propertyname="studentAge"type="java.lang.Integer"><columnname="student_age"/></property><propertyname="studentImage"type="java.sql.Blob"><columnname="student_image"></column></property><propertyname="studentIntro"><columnname="student_introduction"></column></property><setname="schoolsStudied"table="schools"inverse="false"cascade="all"><key><columnname="student_id"/></key><one-to-manyclass="txlong.hibernate.pojo.School"/></set></class></hibernate-mapping>测试代码如下:publicclassHibernateTest{SessionFactorysessionFactory;Transactiontransaction;Sessionsession;@Beforepublicvoidinit(){Configurationconfiguration=newConfiguration().configure();ServiceRegistryservice=newServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();sessionFactory=configuration.buildSessionFactory(service);session=sessionFactory.openSession();transaction=session.beginTransaction();}@AfterpublicvoidDestroyable(){transaction.commit();session.close();sessionFactory.close();}@TestpublicvoidtestSave()throwsIOException{Schoolschool1=newSchool("edu","china");Schoolschool2=newSchool("ytu","assdff");Studentstudent=newStudent();student.setStudentName("Billy");student.setStudentAge(22);Filefile=newFile("D:\image.zip");InputStreamin=newFileInputStream(file);Blobimage=Hibernate.getLobCreator(session).createBlob(in,in.available());student.setStudentImage(image);Clobintro=Hibernate.getLobCreator(session).createClob("高三二班");student.setStudentIntro(intro);student.getSchoolsStudied().add(school1);student.getSchoolsStudied().add(school2);session.save(student);}}详细异常如下:org.hibernate.exception.SQLGrammarException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'?1姯?-駭0⒗S=i偋??G伤G?翤篘+O綨'O糿視剈股摦+縶怽'???[08榅?f'atline1atorg.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:83)atorg.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)atorg.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)atorg.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)atorg.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)atorg.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)atcom.sun.proxy.$Proxy8.executeUpdate(UnknownSource)atorg.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)atorg.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2765)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3276)atorg.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)atorg.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)atorg.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:203)atorg.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:183)atorg.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:167)atorg.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:320)atorg.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287)atorg.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193)atorg.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)atorg.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:204)atorg.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)atorg.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:189)atorg.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)atorg.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)atorg.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:670)atorg.hibernate.internal.SessionImpl.save(SessionImpl.java:662)atorg.hibernate.internal.SessionImpl.save(SessionImpl.java:658)attxlong.hibernate.test.HibernateTest.testSave(HibernateTest.java:67)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(UnknownSource)atsun.reflect.DelegatingMethodAccessorImpl.invoke(UnknownSource)atjava.lang.reflect.Method.invoke(UnknownSource)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:238)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:53)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)atorg.junit.runners.ParentRunner.run(ParentRunner.java:309)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)......

时间: 2024-10-02 10:08:22

hibernate4 存储图片的相关文章

关于二进制存储图片和读取图片的问题

问题描述 关于二进制存储图片和读取图片的问题 如何将图片以二进制的形式存入数据库中 在二进制的形式读取出来 求代码 解决方案 以二进制进行存储和读取图片以二进制进行存储和读取图片.NET中二进制图片的存储与读取 解决方案二: public byte[] ImageConvertToByte(string filepath) { //filepath = @"E:/e.jpg"; FileStream fs = new FileStream(filepath, FileMode.Open

image-Android中SD card存储图片问题

问题描述 Android中SD card存储图片问题 我有一个小问题,我用下面的代码在SD card中保存图片: public String SDSave( ) { //View arg0 // TODO Auto-generated method stub OutputStream outStream = null; File file = new File( extStorageDirectory AdName + "".PNG""); try { outStr

mongodb存储图片和文件实践

可能很多人会问为何要用mongodb存储图片和文件,我的理由是mongodb作存储方便稳定易扩展,我们自己写的文件存储服务器肯定很LOW,除了含有巨量图片的大型系统,一般由公司自研图片存储外,大部分情况下,我们用mongodb足以应付.另外,很多人根本就不知道或者没尝试过用mongodb存储文件,而对方还故意问我为什么用这个.本文特此奉上代码并提供MongoDBClient与spring的集成. 工程结构代码 收藏代码 whatsmars-common |-src |-main |-java |

怎样利用vb.net向ACCESS库中存储图片

问题描述 怎样利用vb.net向ACCESS库中存储图片 解决方案 解决方案二:http://topic.csdn.net/t/20060130/11/4537305.html解决方案三:有没有vb.net的实例啊?解决方案四:DimC_FilestreamAsSystem.IO.FileStreamC_Filestream=NewSystem.IO.FileStream(strPicPath,IO.FileMode.Open,IO.FileAccess.Read)Dimbt(C_Filestr

ucanaccess如何存储图片视频等大数据

问题描述 ucanaccess如何存储图片视频等大数据,是要下什么插件,还是要做什么设置,不懂,在这里请教各位,希望各位会的,遇到过类似问题的,多给给意见和解决办法 解决方案

java二进制存储图片到数据库中

问题描述 java二进制存储图片到数据库中 使用Java实现图片的存储-------存储到数据库中并读取 求代码 解决方案 java存储图片到数据库java存储图片到数据库将图片以二进制存储到数据库中 解决方案二: http://blog.sina.com.cn/s/blog_9ce5a1b50101aoed.html 解决方案三: 不同的数据库中有对大数据的支持,例如mysql是blob类型. 参考:http://blog.csdn.net/zyw745293/article/details/

ASp.net做的论坛数据库是怎么存储图片地址的

问题描述 我在做一个论坛,论坛发帖,回复都可以用富文本编辑器上传图片,可是我不知道用户想上传多少张图片,我该怎样在数据库中存储图片的地址呢,让每个用户想上传多少张图片都可以,打开帖子的时候都能看到用户上传的图片呢 解决方案 解决方案二:我知道了,,是这样存储的<imgsrc="图片路径"/>...真是ri了狗了解决方案三:引用1楼dolis456的回复: 我知道了,,是这样存储的<imgsrc="图片路径"/>...真是ri了狗了 爽么?解决

存储图片没法显示的问题 求教大侠!

问题描述 存储图片代码:privatevoidbuttonX4_Click(objectsender,EventArgse){OpenFileDialogopenfile=newOpenFileDialog();openfile.Title="请选择图片";openfile.Filter="图片(*.jpg;*.bmp;*png)|*.jpeg;*.jpg;*.bmp;*.png|AllFiles(*.*)|*.*";if(DialogResult.OK==open

SAE学习-使用SAE的Storage服务存储图片

看到园子里面有同学写了一篇<基于PHP实现阿里云开放存储服务>,围观地址:http://www.cnblogs.com/nosqlcoco/p/3474773.html.想 起自己也在Sina App Engine(简称SAE)注册了一个开发者账号,而已有一个个人在线简历,所以就尝试这把应用里面用到的图片都放到SAE的Storage服务里面存 储,然后在页面从storage里面读取图片地址,打开开发文档,就开始折腾起来.估计是PHP学习的不多,所以遇到的问题还是蛮多的.首先看一下SAE的sto