冬眠

2013-07-03 130 views
2

我使用休眠试图在Java中的基本程序...但即时得到下面的错误描述冬眠

WARN: HHH000277: Could not bind factory to JNDI 
org.hibernate.service.jndi.JndiException: Error parsing JNDI name [hiber] 
    at org.hibernate.service.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:92) 
    at org.hibernate.service.jndi.internal.JndiServiceImpl.bind(JndiServiceImpl.java:108) 
    at org.hibernate.internal.SessionFactoryRegistry.addSessionFactory(SessionFactoryRegistry.java:89) 
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:480) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1769) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840) 
    at manageEmployee.main(manageEmployee.java:26) 
Caused by: 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.service.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:86) 
    ... 6 more 

Exception in thread "main" java.lang.ClassCastException: org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction cannot be cast to javax.transaction.Transaction 
    at manageEmployee.addEmployee(manageEmployee.java:44) 
    at manageEmployee.main(manageEmployee.java:34) 
+0

分享您的代码 –

回答

7

我从我的Hibernate配置开幕出厂标签去掉name属性固定这文件,以便它看起来如下:

<session-factory> 

代替

<session-factory name=""> 
0

这可能是triggert或者有一些依赖libarys的hibernate丢失或者你已经导入了一些具有相同名称的假libarys。

0

检查进口声明,如果发现这一点:

import javax.transaction.Transaction; 

然后替换此:

import org.hibernate.Transaction; 

,并删除铸造的所有地方找到能助您铸造象下面这样:

tx = (Transaction) session.beginTransaction(); 

删除

(事务)

删除所有地方铸造。