关于hibernate框架的 session.createQuery ()方法
老师给我们一段代码org.hibernate.Queryqry=session.createQuery("fromCustomer");在eclipse里建了一个clas...
老师给我们一段代码 org.hibernate.Query qry = session.createQuery("from Customer");
在eclipse里建了一个class提示session不识别 而在JSP里显示session里没有createQuery()方法 .这个方法是在某个包里的吗 包名是什么呢。
还是就是关于配置文件的写法
<mappingresource="cn/edu/zucc/firsthibernate/Customer.hbm.xml"/>
这句配置要插在什么内容里的 实验要求是
在hibernate.cfg.xml文件中增加对该配置文件的引用 展开
在eclipse里建了一个class提示session不识别 而在JSP里显示session里没有createQuery()方法 .这个方法是在某个包里的吗 包名是什么呢。
还是就是关于配置文件的写法
<mappingresource="cn/edu/zucc/firsthibernate/Customer.hbm.xml"/>
这句配置要插在什么内容里的 实验要求是
在hibernate.cfg.xml文件中增加对该配置文件的引用 展开
3个回答
展开全部
session.createQuery 中的session指的是hibernate jar包里的org.hibernate.Session,作用类似jdbc的connection,用于事务管理,jsp里的session是会话内置对象,两个session没有关系。Customer.hbm.xml用于建立实体类和数据库关系表映射关系,也就是在你的实体类(名字应该是Customer)和数据库关系表名字可能是customer建立一一对应的关系,这样hibernate对实体类对象增删改查也就是对数据库对应表的增删改查。为了让hibernate知道你的Customer实体类和数据库的关系表customer有Customer.hbm.xml这种关系,必须在hibernate配置文件hibernate.cfg.xml里通过<mapping resource="cn/edu/zucc/firsthibernate/Customer.hbm.xml"/>这句话将Customer.hbm.xml引入。这句话通常放在标签<session-factory></session-factory>里面的最后。
至于hibernate的用法你可以查看jar包自带的api文档,在doc\api\index.html里面
至于hibernate的用法你可以查看jar包自带的api文档,在doc\api\index.html里面
追问
我根据你写的引用了org.hibernate.Session 创建了session对象Session session = null; 可是运行返回的结果提示空值错误,在网上看了下 改成了Session session = HibernateSessionFactory.getSession(); 然后就是提示 HibernateSessionFactory 不能被解析。具体的代码要怎么使用呢
追答
/*
你这个问题可能出在:1、hibernate jar包是不是导入了;
2、数据库连接是否正确,配置文件里方言、驱动、url、
username、password是否正确,数据库服务是否启动;
3、hibernate.cfg.xml 格式是否正确;
*/
public void hibernatetest(){
/*操作数据库步骤如下:
@加载hibernate配置文件
* @2:需要建立sessionFactory
* @3:通过工厂创建session
* @4:通过session去操作对象
*/
//加载hibernate.cfg.xml配置文件
Configuration cfg=new Configuration().configure();
//建立sessionFactory工厂
SessionFactory factory=cfg.buildSessionFactory();
//获取Session
Session session=factory.openSession();
/*if(session!=null)
{
System.out.println("获取session成功");
}
else {
System.out.println("获取session失败");
}*/
Customer c=new Customer();
//根据customer类 具体set
c.setId(1);
c.setUsername("admin");
//创建一个事务
Transaction tx=null;
try {
//开启事务
tx=session.beginTransaction();
session.save(c);
tx.commit();
System.out.println("用客户保存成功!");
} catch (Exception e) {
// TODO: handle exception
tx.rollback();
e.printStackTrace();
}
finally
{
session.close();
}
}
展开全部
hibernate框架的session是org.hibernate.Session;
jsp内置对象session是javax.servlet.http.HttpSession;
两个根本不是同一个东西啊骚年,你要学的还有很多嘞!
hibernate.cfg.xml怎么配置你可以参考这个:
http://www.cnblogs.com/jqyp/archive/2010/06/28/1766851.html
多的就不说了。
jsp内置对象session是javax.servlet.http.HttpSession;
两个根本不是同一个东西啊骚年,你要学的还有很多嘞!
hibernate.cfg.xml怎么配置你可以参考这个:
http://www.cnblogs.com/jqyp/archive/2010/06/28/1766851.html
多的就不说了。
追问
我根据你写的引用了org.hibernate.Session 创建了session对象Session session = null;
可是运行返回的结果提示空值错误,在网上看了下 改成了Session session =
HibernateSessionFactory.getSession(); 然后就是提示 HibernateSessionFactory 不能被解析。具体的代码要怎么使用呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
org.hibernate.Session不是web的session
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询