Hibernate的session.createQuery方法疑问~

baggio785 2006-05-11 11:17:19
文件目录结构为
-class
--hibernate.cfg.xml
--com
--javablog
--systemadmin
--BlogSystemadmin.class
--BlogSystemadmin.hbm.xml
--MyHibernate.class

在配置文件中
<mapping resource="com/javablog/systemadmin/BlogSystemadmin.hbm.xml"></mapping>

在对象关系映射文件中
<class name="com.javablog.systemadmin.BlogSystemadmin" table="BLOG_SYSTEMADMIN">

在程序MyHibernate.class中
List myList = session.createQuery("BlogSystemadmin").list();
会提示org.hibernate.hql.ast.QuerySyntaxError:BlogSystemadmin is not mapped

但是如果加上BlogSystemadmin所在的包,就不会出错
List myList = session.createQuery("com.javablog.systemadmin.BlogSystemadmin").list();

请问这是怎么回事情啊?

还有,我是在Eclipse中进行JUnit进行调试,提示
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.

请问,log4j必须要么?
...全文
195 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
killme2008 2006-05-11
  • 打赏
  • 举报
回复
你把此类import进来
import com.javablog.systemadmin.BlogSystemadmin;

HQL写成:
from BlogSystemadmin
baggio785 2006-05-11
  • 打赏
  • 举报
回复
但是我看一些例子是不需要加包名的啊

log4j不要也可以的吧?

我的hibernate版本是3
ChDw 2006-05-11
  • 打赏
  • 举报
回复
因为必须加上包名,否则Hibernate不会知道去找哪个包里面的

最好在开始之前就先初始化好Log4j的配置
zuguanqun 2006-05-11
  • 打赏
  • 举报
回复
因为必须加上包名,否则Hibernate不会知道去找哪个包里面的

log4j不要也可以的

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧