使用Hibernate通过实体类创建表过程中,出现org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []错误...

解决办法:

 

发现我的 hibernate.cfg.xml 中的 session-factory name="",

<hibernate-configuration>
    <session-factory name="">

去掉 name="",再跑起来,日志就不报上面的信息,写上 name="sf" 或者别的,
但不配置 JNDI,同样会报上述信息,所以 session-factory 可选属性中,如果写上 name 就 和 JNDI 有关系。

 

 

错误信息:

九月 17, 2017 5:02:06 下午 org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
九月 17, 2017 5:02:06 下午 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.9.Final}
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
九月 17, 2017 5:02:06 下午 org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: hbm/manytoone/Dept.hbm.xml
九月 17, 2017 5:02:06 下午 org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: hbm/manytoone/Emp.hbm.xml
九月 17, 2017 5:02:06 下午 org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
九月 17, 2017 5:02:06 下午 org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory:
九月 17, 2017 5:02:06 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
九月 17, 2017 5:02:06 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=UTF-8]
九月 17, 2017 5:02:06 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
九月 17, 2017 5:02:06 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
九月 17, 2017 5:02:06 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
九月 17, 2017 5:02:07 下午 org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
九月 17, 2017 5:02:07 下午 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
九月 17, 2017 5:02:07 下午 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
九月 17, 2017 5:02:07 下午 org.hibernate.internal.SessionFactoryRegistry addSessionFactory
WARN: HHH000277: Could not bind factory to JNDI
org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []
at org.hibernate.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:141)
at org.hibernate.engine.jndi.internal.JndiServiceImpl.bind(JndiServiceImpl.java:157)
at org.hibernate.internal.SessionFactoryRegistry.addSessionFactory(SessionFactoryRegistry.java:103)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:497)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859)
at org.itany.Z_hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:35)
at org.itany.Z_hibernate.util.CreateTableUtil.main(CreateTableUtil.java:6)
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.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:135)
... 6 more

九月 17, 2017 5:02:07 下午 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: HHH000227: Running hbm2ddl schema export
Hibernate:
alter table t_emp
drop
foreign key FK_ob3b9pbd50a1sp7jqq6g4bjkm
Hibernate:
drop table if exists t_dept
Hibernate:
drop table if exists t_emp
Hibernate:
drop table if exists hibernate_unique_key
Hibernate:
create table t_dept (
id integer not null,
name varchar(255),
primary key (id)
)
Hibernate:
create table t_emp (
id integer not null,
name varchar(255),
dept_id integer,
primary key (id)
)
Hibernate:
alter table t_emp
add constraint FK_ob3b9pbd50a1sp7jqq6g4bjkm
foreign key (dept_id)
references t_dept (id)
Hibernate:
create table hibernate_unique_key (
next_hi integer
)
Hibernate:
insert into hibernate_unique_key values ( 0 )
九月 17, 2017 5:02:08 下午 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: HHH000230: Schema export complete
九月 17, 2017 5:02:08 下午 org.hibernate.internal.SessionFactoryRegistry removeSessionFactory
WARN: HHH000374: Could not unbind factory from JNDI
org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []
at org.hibernate.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:141)
at org.hibernate.engine.jndi.internal.JndiServiceImpl.unbind(JndiServiceImpl.java:225)
at org.hibernate.internal.SessionFactoryRegistry.removeSessionFactory(SessionFactoryRegistry.java:139)
at org.hibernate.internal.SessionFactoryImpl.close(SessionFactoryImpl.java:1369)
at org.itany.Z_hibernate.util.HibernateUtil.closeSessionFactory(HibernateUtil.java:112)
at org.itany.Z_hibernate.util.CreateTableUtil.main(CreateTableUtil.java:7)
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.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:135)
... 5 more

九月 17, 2017 5:02:08 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
INFO: HHH000030: Cleaning up connection pool [jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=UTF-8]

转载于:https://www.cnblogs.com/wangzijoe/articles/7536307.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值