hibernate入门级问题

badboy_119 2005-09-09 03:20:17
hibernate.cfg.xml文件内容如下:

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory name="foo">
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:DEMO</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.use_outer_join">true</property>
<mapping file="web\QuickStart\WEB-INF\classes\org\hibernateTest\com\Member.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>

####################################

运行时报下面异常:
(util.NamingHelper 26 ) JNDI InitialContext properties:{}
(impl.SessionFactoryObjectFactory 98 ) Could not bind factory to JNDI
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getNameParser(Unknown Source)
at org.hibernate.util.NamingHelper.bind(NamingHelper.java:52)
at org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:90)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:247)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1054)
at org.gqh.hibernatetest.com.BussinessService.init(BussinessService.java:17)
at org.gqh.hibernatetest.com.BussinessService.main(BussinessService.java:48)
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjmoya 2005-09-28
  • 打赏
  • 举报
回复
顶…………
Saro 2005-09-28
  • 打赏
  • 举报
回复
Could not bind factory to JNDI
----
很明显的错误,<session-factory name="foo"> 会试图将一个SessionFactory实例以foo为名bind到jndi上,但你的application container不支持jndi帮定。
另外,hibernate.dialect定义错了。
zling1981 2005-09-09
  • 打赏
  • 举报
回复
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
下面再增加一个属性试试:
<property name="connection.datasource">java:comp/env/jdbc/你的项目名</property>
pppplato 2005-09-09
  • 打赏
  • 举报
回复
我不知道是什么导致这个错误。但你的hibernate.cfg.xml恐怕有问题
1。你用的是oracle,但dialect却选了HSQLDialect,为什么?
2。mapping file 的路径是以hibernate.cfg.xml所在目录为当前目录。而hibernate.cfg.xml一般会放在WEB-INF\classes下,所以应该是这样的:
<mapping file="org\hibernateTest\com\Member.hbm.xml"></mapping>

67,513

社区成员

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

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