没有currentSession配置错误,即在我们使用currentSession的时候要在hibernate.cfg.xml中进行相关的事务配置:1.本地事务<property name="hibernate.current_session_context_class">thread</property>2.全局事务<property name="hibernate.current_session_context_class">…
java.sql.SQLException: Parameter index out of range (28 > number of parameters, which is 27). 这个说的是有28个参数,但只有27个值,值的数量与变量的个数不匹配,查看class对象是否有多于的变量名,或者值的数量是否有多余的…
这篇文章用于总结hibernate操作数据库的各种方法 一.query方式 1.hibernate使用原生态的sql语句执行数据库查询 有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错误,就猜测因为不是原生态的sql语句,数据库不支持,因此情愿选择回到jdbc时代.这样既耗时耗力,又破坏面向对象的编程.其实,hibernate已经考虑到这个问题,hibernate可以执行原生态的sql语句,正对每种数据库,你可以写对应的sql语句,然后用createSQLQuery(sql)即可. /…
使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射信息,创建SessionFactory SessionFactory sf = conf.buildSessionFactory(); (3)打开Session Session session = sf.openSession(); (4)开始一个事务(增删改操作必须,查询操作可选) Transac…
Exception in thread "main" org.hibernate.HibernateException: No CurrentSessionContext configured! 这个异常发生的原因是因为在hibernate.cfg.xml中没有设置: <property name="current_session_context_class">thread</property> 在以上hibernate的配置文件中添加上面的…
1.工程目录结构如下 2.引入需要的jar包,如上图. 3.创建持久化类User对应数据库中的user表 package com.hibernate.配置文件.pojo; import java.sql.Date; public class User { private Integer id; private String username; private String password; private Date update_time; public User() { super(); }…
一.query方式 1.hibernate使用原生态的sql语句执行数据库查询 有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错误,就猜测因为不是原生态的sql语句,数据库不支持,因此情愿选择回到jdbc时 代.这样既耗时耗力,又破坏面向对象的编程.其实,hibernate已经考虑到这个问题,hibernate可以执行原生态的sql语句,正对每种数据 库,你可以写对应的sql语句,然后用createSQLQuery(sql)即可. /** * 本地sql的检索方式,使用原生态的sql语…
 1:一般情况下,在使用Hibernate Session存取数据库的代码中,基本上大部分是相同的,如下两个方法所示, //查询Teacher操作 ublic Teacher getTeacher(Long id) throws DataAccessException { Session session = getSession(); Teacher teacher = null; try { teacher = (Teacher)session.get(Teacher.class, id)…
com.tao.pojo实体类 package com.tao.pojo; public class User { private int id; private String name; private String password; public User() { super(); } public User(int id, String name, String password) { super(); this.id = id; this.name = name; this.passw…
1.错误原因 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增 2.解决办法 修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时)…