本人在使用Hibernate生成映射文件及POJO时遇到的问题:“org.hibernate.exception.GenericJDBCException: Could not get list of tables from database. Probably a JDBC driver problem.
”
版本信息:Hibernate3.1 ;MyEclipse6.0M1; Oracle8。
查看Eclipse workspace\.metadata\.log文件产生如下日志信息:
!ENTRY org.eclipse.core.jobs 4 2 2007-08-13 14:01:59.546
!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:ALDB
Configured catalog:null
Available schemas:
ADAMS
ALDB
AURORA$JIS$UTILITY$
AURORA$ORB$UNAUTHENTICATED
BLAKE
CLARK
CTXSYS
DBSNMP
JONES
MDSYS
MTSSYS
ORDPLUGINS
ORDSYS
OSE$HTTP$ADMIN
OUTLN
SCOTT
SYS
SYSTEM
Available catalogs:
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.handleSQLException(JDBCMetaDataDialect.java:40)
at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:62)
at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:433)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:67)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration$1.readDatabaseSchema(MEJDBCMetaDataConfiguration.java:104)
at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:89)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:137)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$7.execute(GenerateArtifactsJob.java:827)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:56)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:89)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:811)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:381)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.sql.SQLException: Invalid column name
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:4383)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:667)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1374)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.convertRow(JDBCMetaDataDialect.java:33)
at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:59)
... 11 more
解决思路:按照提示信息描述的Probably a JDBC driver problem.开始更换OracleJDBCDriver classess12的各种版本,由于数据库版本为8使用8的驱动明显不行,逐渐升高版本至(10.2.0.3) 问题便解决了。可以到这个地址下载最新的Oracle驱动程序http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html
分享到:
相关推荐
3. **逆向工程(Hibernate Reverse Engineering)**:选中要映射的数据库表,右键选择`Hibernate Reverse Engineering`,这是MyEclipse提供的将数据库表转换为Hibernate映射文件和实体类的工具。 4. **配置生成选项...
下面我们将详细介绍如何在MyEclipse中自动生成Hibernate映射文件。 首先,我们需要建立数据库连接。在MyEclipse中,可以通过`Window`菜单打开`MyEclipse Database Explorer`视图。在这里,你可以创建新的数据库连接...
Myeclipse 自动生成 Hibernate 配置文件及实体类映射 ORM 配置文件 Myeclipse 是一个功能强大的集成开发环境(IDE),它提供了许多实用的功能来简化软件开发过程。在这个示例中,我们将展示如何使用 Myeclipse 自动...
标题提到的"myeclipse自动生成映射文件",实际上是指使用MyEclipse的"MyEclipse Database Explorer"视图,结合Hibernate框架,快速生成与数据库表对应的Hibernate映射文件(hbm.xml)和实体类(POJO)。这个功能不仅...
MyEclipse中自动生成Hibernate的POJO、DAO和hbm.xml文件 MyEclipse是一款功能强大且流行的集成开发环境(IDE),它提供了许多实用的功能来帮助开发者快速构建和维护项目。其中,MyEclipse提供了对Hibernate的支持,...
标题中的“pojo生成器”指的是一个工具,用于自动生成Java类(POJO,Plain Old Java Object),这些类通常作为数据库表的模型对象,映射数据库中的数据。在Java开发中,POJO类是无特殊约束的普通Java对象,它们在...
Hibernate映射文件主键生成策略详解 Hibernate.cfg.xml配置文件是Hibernate框架中的一部分,该文件用于配置Hibernate的各种设置,例如数据库连接、dialect、mapping文件等。在这个文件中,我们可以看到hibernate-...
对于使用Hibernate框架的开发者来说,MyEclipse提供了自动生成POJO(Plain Old Java Object)类和对应的hbm.xml映射文件的功能,这在处理大量的数据库操作时尤其方便。下面我们将详细探讨如何在MyEclipse中实现这一...
在生成的DTO和POJO类中,注解可以用来标记字段,以便于框架如Hibernate或MyBatis进行ORM(对象关系映射)操作。 `JavaBeanTool_2.0`可能是插件的一个版本号,暗示这个工具已经经过了多次迭代和优化。JavaBean是一种...
测试驱动连接,如果出现因语言设置导致的问题,比如连接Oracle10g时遇到的错误,可以修改eclipse.ini文件,将"-Duser.language=en"改为"-Duser.language=zh"。对于Oracle9i,可参考网上相关解决方案解决连接问题。 ...
5. **实体类和映射文件**:为了将Java类映射到数据库表,我们需要编写实体类(通常是POJO,Plain Old Java Object),并在`hibernate-mapping`标签内定义对应的XML映射文件,描述属性与列的对应关系。 6. **HQL和 ...
标题"Hibernate自动创建表结构示例--Oracle"表明我们将使用Hibernate在Oracle数据库中自动生成表结构,这是通过Hibernate的`hibernate.hbm2ddl.auto`配置属性实现的。这个属性可以设置为"create"、"update"、...
"生成HBM"则是将PDM中的表信息转换为Hibernate的映射文件。HBM文件定义了数据库表与Java类之间的映射关系,包括主键、外键、索引、类型映射等。通过这个过程,开发者可以快速地建立起数据库与Java对象的桥梁,进一步...
### MyEclipse中配置Hibernate连接Oracle详解 #### 一、概述 本文主要介绍如何在MyEclipse集成开发环境中配置Hibernate框架来实现与Oracle数据库的连接。通过以下步骤,开发者能够快速搭建起基于Hibernate的数据库...
项目开发过程中,会做一些重复度较高的开发工作(表结构设计、生成数据库建库脚本、数据字典定义、hibernate映射文件编写、POJO对象文件编写、简单的JSP表单页面).在跨数据库平台的小组中甚至要做到一套程序多套...
通过以上介绍,我们不仅了解了Hibernate配置文件的基本结构和关键属性,还深入探讨了JDBC参数、连接池配置以及POJO类与数据库映射的实现机制。这对于深入理解和掌握Hibernate的工作原理至关重要。希望这些知识点能...
在数据库操作中,POJOs可以映射到数据库表的记录,使得通过ORM(对象关系映射)框架,如Hibernate或MyBatis,可以轻松地进行数据的存取。 2. **数据库连接属性** 要使用"DataBaseToJava"工具,你需要提供数据库...
- **环境搭建**:首先,需确保已安装Hibernate 3.1及相关数据库(如Oracle10g)。同时,将必要的`.jar`文件添加到`CLASSPATH`环境变量中,包括`hibernate3.jar`、`dom4j-1.6.1.jar`、`commons-logging-1.0.4.jar`、`...
综上所述,Hibernate是一个功能强大的持久层框架,它通过配置文件、POJO、映射文件等多种机制实现了数据库操作的高度自动化和代码的简洁性。开发者只需要关注业务逻辑的实现,而无需过多考虑底层数据库操作的细节。
- **方言设置**:Dialect的选择决定了Hibernate如何生成特定于目标数据库的SQL语句,例如MySQL、Oracle或SQL Server等。 - **映射文件**:`Configuration`类负责加载实体映射文件,这些文件描述了Java对象与数据库...