今天用Hibernate遇到个问题,果断度娘,谷歌弟用起,哦哦,没有找到一个完全正解,最终经过多篇帖子总结,自己摸索出解决方法,鉴于很多前辈给的解决方法很让人惆怅。故写出解决方法
抛出异常hql查询语法错误:Book is not mapped [from Book]
public static void getlist() {
//配置config
Configuration config=new Configuration()。configure();
//获得sessionFactory,对应一个数据库
SessionFactory sFactory=config.buildSessionFactory();
//这里的session不是web用的session,这里对应表的CRUD操作
//Session session=sFactory.openSession();没有getcuurentsession强大,但是getcuurentsession需要在hibernate.cfg中配置
Session session=sFactory.getCurrentSession();
session.beginTransaction();
Query query=session.createQuery("from com.zhangle.Entity.Book");
//HQL 语句,这里的com.zhangle.Entity.Book是hbm配置文件class的name属性
List list=query.list();
for(Book book:list){
System.out.print("isbn:"+book.getIsbn());
System.out.print("name:"+book.getBookname());
System.out.println("date:"+book.getPressdate());
}
session.getTransaction()。commit();
}
配置文件
……
注意上面配置文件class标签的name属性,用HQL语句调用的不是数据库表名,也不是实体类名,而是类的长名,即name属性


hibernate-HQL语句(2)
hibernate-HQL语句(1)
Hibernate HQL语句的参数设置

· [高级编程]浅析JVM内存结构和6大区域
· [XMLBeans]Java中解析XML的四种方法
· [基础入门]Java接口和抽象类的实现方法
· [资讯动态]雅虎开源其JavaScript 框架Mojito
· [基础入门]Java编程中“为了性能”要做的几点
· [资讯动态]一名开发者从技工父亲那里学到的5 堂课
· [基础入门]进行Java EE性能测试与调优
· [高级编程]JAVA多线程模式之Balking
· [基础入门]利用字符串连接巧妙解决问题
· [高级编程]实现Java调用.net DLL的方法