要插入数据,可不可以直接生成插入数据的SQL语句后再通过hibernate插入? hibernate当然可以执行sql语句String Sql_str = "你的sql语句";Query query = session.createQuery(Sql_str);List lists = query.list(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你需要把你的sql语句转换成HSQL,hibernate才能正确执行!! 2楼已经说得很清楚了。不然,你可以取得hibernate的connection进行jdbc insert 2楼的只能用于查询吧,如果sql语句是insert,是不成功的吧?我试过了,没有能插入数据 public void testInsert(){ try { TUser user = new TUser(); //User POJO user.setName("Emma"); session.save(user); session.flush(); } catch (HibernateException e) { e.printStackTrace(); }}public void testSelect(){ String hql=" from TUser where name='Erica'"; try { List userList = session.find(hql); TUser user =(TUser)userList.get(0); Assert.assertEquals(user.getName(),"Erica"); } catch (HibernateException e) { e.printStackTrace(); }} 上面的例子里面的insert,都是要通过对象的。但我希望就是一个insert的sql语句,直接插入。也许有人问那为何还要用hibernate,那是因为需要直接用sql插入数据的是系统里面的特殊功能用途。 可以呀;可以通过SQL语句进行插入数据;没有问题的;看看HIBERNATE文档吧; Connection con = session.connection();这样你得到了一个jdbc Connection ;下面你就可以来作JDBC操作了,,下面的不用说了吧! Axis2下用java写webservice实现大规模数据传输 新手hibernate学习。。 servlet的困惑 EASY ! 会JSP和SERVLET 下一步学什么框架!!! struts 1.2 formfile 中文文件名乱码(字数为奇数时) 怎样获得数据库最近一次更新的时间 JBOSS 安装问题。 我该不该上这个ERP实战班? 据说在Tomcat下不能开发测试EJB,那么最简单的环境是什么? 兄弟们救命啊(邮件服务器apache james) 请教在TOMCAT5下,怎样配置SQL2000的JSP的连接池
try {
TUser user = new TUser(); //User POJO
user.setName("Emma");
session.save(user);
session.flush();
} catch (HibernateException e) {
e.printStackTrace();
}
}public void testSelect(){
String hql=" from TUser where name='Erica'";
try {
List userList = session.find(hql);
TUser user =(TUser)userList.get(0);
Assert.assertEquals(user.getName(),"Erica");
} catch (HibernateException e) {
e.printStackTrace();
}
}