myeclipse 生成hbm.xml文件时问题的解决

因为我使用的是oracle数据库,这里暂时以oracle为例进行说明。

问题描述:

!ENTRY org.eclipse.core.runtime 4 2 2006-06-21 08:57:27.625
!MESSAGE An internal error occurred during: "Generating Artifacts".
!STACK 0
org.hibernate.exception.GenericJDBCException: Could not get list of tables from database. Probably a JDBC driver problem.
Configured schema:TEST
Configured catalog:null

Available catalogs:

        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:91)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:79)
        at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.handleSQLException(JDBCMetaDataDialect.java:86)
        at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:50)
        at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:400)
        at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:65)
        at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration$1.readDatabaseSchema(MEJDBCMetaDataConfiguration.java:102)
        at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:87)
        at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:129)
        at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$5.execute(GenerateArtifactsJob.java:405)
        at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:35)
        at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:68)
        at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:400)
        at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:266)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
Caused by: java.sql.SQLException: Invalid column name
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
        at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5278)
        at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:698)
        at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1505)
        at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.convertRow(JDBCMetaDataDialect.java:79)
        at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:47)
        ... 11 more

看了网上相关的信息很多,但是基本上没有说的太明白的,不过基本思路倒是有了!反正最大的可能就是驱动有问题,即使你用那些在开发中使用很正常的jar包放到这里问题还是依然存在!

网上也有好多建议让使用odbc的jar包!

最终解决方法:

在安装的oracle工具下,按如下路径,oracle/oracle92/jdbc/lib,这个目录下边有好多jar包,有classes的,还有odbc的,在Myeclipse中的DB Browser 中配置jar包时可以逐个进行切换。

记住这里很重要,在更换后一定要重新启动下myeclipse,要不是不会起作用的!

我之前就是来回换,但是没有重新启动,结果总是不成功,偶而的一次重新启动,一切正常,可以成功生成文件了,爽!期望对大家有帮助!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值