hibernate配置之<property name="hbm2ddl.auto">create</property>导致每次创建SessionFactory都清空数据库中的数据

参考:http://stackoverflow.com/questions/6611437/how-to-make-hibernate-not-drop-tables

我遇到的问题就是:

List l = sess.createCriteria(News.class)
            .add( Restrictions.isNotEmpty("title"))
            .list();

抛出异常,Exception in thread "main" org.hibernate.MappingException: Property path [xxx.News.title] does not reference a collection

打开数据库查看表格,已经有的数据被清空了,select * from xxx_table 返回empty set,所以导致了这个异常

继续查看原因,是因为hibernate.cfg.xml中的<property name="hbm2ddl.auto">create</property>的问题,应该改成<property name="hbm2ddl.auto">update</property>

hibernate配置之<property name="hbm2ddl.auto">create</property>导致每次创建SessionFactory都清空数据库中的数据

时间: 2024-07-31 14:39:16

hibernate配置之<property name="hbm2ddl.auto">create</property>导致每次创建SessionFactory都清空数据库中的数据的相关文章

Hibernate 查询结果与数据库中的数据不一致

hibernate的bug: https://hibernate.atlassian.net/browse/HHH-4956 解决办法: 添加别名select max(max_pre_nights) ,max(max_post_nights) from package_pre_post_hotel where package_id = :packageId添加别名后可以解决问题,如果SQL中的列名不是唯一的,最好都添加别名,比如 select a.id as a_id , b.id as b_i

有关hibernate.hbm2ddl.auto create删除原来的表后无法创建的问题

由于是初学者,我这几天在看JPA方面的东西,今天在对照视频学习JPA的动态查询方面时遇到了一个问题 以上是在运行在插入过程中,突然开始报错,内容是org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could n

Hibernate配置文件的hbm2ddl.auto属性

今天遇到一个有意思的问题,我目前做的一个网站采用Spring MVC + Spring + Hibernate的架构,我通过页面插入了一些数据到数据库,可是每次重启tomcat之后,数据都莫名其妙地丢失了,但是我确定数据库中原本是有数据的,数据一定是在应用服务器重启之后被清除的,百思不得其解,忽然想到有可能是昨天修改了Hibernate配置文件导致的. 我的Hibernate配置文件: <hibernate-configuration> <session-factory> <

hibernate.cxf.xml 配置文件 解决 内容必须匹配 &quot;(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)&quot;

这两天想看看hibernate的东西,就跟着官网教程自己做,被官网网页上的配置文件给坑了. 有两个注意的地方,如果是按照官网的筒子们注意啦,一个是hibernate的头xsd验证文件,不修改成dtd读取hibernate.cxf.xml会 抛出Could not parse configuration: /hibernate.cfg.xml或者org.hibernate.MappingException: invalid configuration异常的哦. 1 <hibernate-confi

Hibernate学习笔记(1)Hibernate配置

一 准备工作 首先我们将创建一个简单的基于控制台的(console-based)Hibernate应用程序. 我们所做的第一件事就是创建我们的开发目录,并且把所有需要用到的Java库文件放进去.解压缩从Hibernate网站下载的Hibernate发布包,并把所有需要的库文件拷到我们项目中去. 学习建User-library-hibernate,并加入相应的jar包 (a)项目右键-buildpath-configure build path-add library (b)选择User-libr

hibernate配置hbm2ddl.auto的四个参数

<!-- Drop and re-create the database schema on startup --> <!-- hbm(hibernatemapping) ,ddl(建表语句.是否自动生成建表语句)--> <property name="hbm2ddl.auto">validate</property> 其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库表结构.如果不是此方面

Hibernate笔记一:HIbernate配置-HelloWorld

hibernate介绍: Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 它不仅提供了从java类到数据库表之间的映射,也提供了数据查询和恢复机制.相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少 操作数据库的工作量.另外Hibernate可以利用代理模式简化载入类的过程,这将大大减少利用Hql从数据库提取数据的代码编写量,从而节约开发时间 和开发成本Hibernate可以

Hibernate配置与事务管理

数据库中 @num:代表一个变量 Set @num = 10; Select @[email protected] from dual;  dual:临时表 得到结果 20 Hibernate:运用数据持久化,使用ORM框架 JSP:java server page ORM:object relationship mapping Hibernate:对JDBC进行轻量级的对象封装,可取代CMP(容器管理持久化),完成数据持久化的重任 JDBC:java数据连接技术 java database c

Spring的DataSource配置、将Hibernate配置全部写到Spring配置

DataSource可以集中管理数据库连接,减少维护工作量,使部署更简单: Spring的DataSource配置:(Spring数据源配置)这里使用dbcp,还有很多其他的如c3p0,jdbc,jndi等 DataSource和定义普通Bean一样,指定id.类别,注入属性: 站点停止时,应该调用DataSource的close方法,通过destroy-method属性配置实现: 1,在Spring配置文件配置DataSource的bean: <bean id="dataSource&q