使用hibernate框架添加数据时,没有错误,但是数据库里没有记录

//这是实体类的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="cn.com.shxt.po">
<class name="PhotoUp" table="PHOTOUP">
<id name="id">
<column name="ID"></column>
<generator class="sequence">
<param name="sequence">PHOTOUP_SEQ</param>
</generator>
</id>
<property name="fileName" column="FILENAME"></property>
<property name="photo" column="PHOTO" type="binary"></property>
</class>
</hibernate-mapping>
//action代码
public static String upload(File file,String fileName) throws IOException{
String path = ServletActionContext.getServletContext().getRealPath("/upload");
String newName = FileUpload.getFileName(fileName);
File newFile = new File(path,newName);//就是这句话完成的 文件上传功能
FileUtils.copyFile(file, newFile);//struts2帮助文档,这句有什么作用?
return path+"\\"+newName;
}
//serv代码
public void photoUp(String pathAndName) throws IOException{
Session session = HibernateTools.getSession();
String fileName = pathAndName.substring(pathAndName.lastIndexOf("\\")+1);
PhotoUp img = new PhotoUp();
img.setFileName(fileName);
File photo = new File(pathAndName);
FileInputStream input = new FileInputStream(photo);
byte[] photoBinary = new byte[(int) photo.length()];
input.read(photoBinary,0,(int) photo.length());
img.setPhoto(photoBinary);
session.save(img);
session.close();
}

第1个回答  2014-11-28
getSession()方法是获取当前线程中的session对象吗?如果是,那是因为你没有开启事务导致的本回答被提问者和网友采纳

javaee:使用hibernate框架往数据库插入数据的时候,没有报错,数据库中页...
你看看数据库中有没有数据,如果数据库中没有数据,那就是事务没有提交 如果数据库中与数据,那就是页面显示的问题,如果你跳转页面用的是redirect的话,你需要把信息放入session,如果你是forward的话,你需要把数据放入request中

java hibernate修改语句执行没有报错,但数据库也没有改变是怎么回事_百 ...
检查程序中配置的数据源,简单说就是程序有没有连错数据库 检查事务相关配置或编码,是不是没有提交事务

hibernate插入一张表中数据时报错,更新和删除不包错但数据库中的数据...
出现这个错误原因有三个:(1)这个异常是由于主键设置为自增长,而在我们插入记录的时候设置了ID的值导致的。(2)使用的是hibernate的saveOrUpdate方法保存实例 saveOrUpdate要求:只有ID为null才执行save,其他情况下执行update 在保存实例的时候是新增,但你的ID不为null,所有就执行update操作,可是数据库...

hibernate在配置文件中声明的表如果数据库中没有这张表会自动新建一个...
会,但是只建表不建库。当引入hibernate时,可以创建数据库表的配置文件。可以根据表的配置文件自动在数据库建表。(数据库要预先建立好,因为hibernate只会建表,不会建库)在配置文件 hibernate.cfg.cml 中加入参数 ,配置相关数据源参数和pojo文件。update 表示自动根据model对象来更新表结构,启动hibernate...

hibernate 实体类允不允许数据库不存在的字段,会不会存在潜在的问题...
实体类有,数据库没有,除非你的映射文件里不写,否则会报错的。

hibernate插入数据报错 求高手指点
你试试看,你的id设置的是主键但是是native的,代表是自己给值,你插入数据库的时候没有给id赋值,如果你是mysql数据库,在配置文件中吧id设置成increment

hibernate查询时查不出数据但是数据库中数据存在。具体问题见补充...
如果 你使用的mysql 数据 ,看下mysql 数据库连接串中是否加上字符编码 如下:jdbc:mysql:\/\/localhost:3306\/zxb_trade?characterEncoding=utf-8

用hibernate插入数据时怎么让默认值生效
数据库中一个字段的默认值设为0,当用hibernate插入数据时,没有对该字段进行操作,结果该字段居然不是0,而是空。后来google了一下,发现应该在.hbm.xml文件中添加一些参数定义(示例中的红色部分),具体如下:<hibernate-mapping <class name=com.tom.hibernate.EbayItem table=EBAY_ITEM schema=API_...

hibernate有时可以保存数据有时不能保存数据,包括它的查询有时候查询的...
我遇到过因session未关闭引起的数据不一致的情况.貌似多个session实例间的数据不是同步或共享的.比如,你创建了session1,session2.在request1中使用session1添加了数据user1,在request1结束后的另一个请求中使用了session2查询user1,可能就会查询不到你上个请求中所保存的数据(数据已存在数据库中)....

hibernate 在单元测试时可以通过,但是一旦放在项目中,程序就跑不动了...
出现这种情况的一个原因是没有导入正确的数据库驱动包,建议大家去重新下载一个 另外在我做项目过程中遇到过这种情况:在程序运行提示org.hibernate.exception.GenericJDBCException: Cannot open connection错误 在网上搜索到的处理办法如下:1、你的配置文件数据库用户名或者密码错误。2、你的数据库地址写错...

相似回答