-
hibernate映射表报错 unknown Oracle major version [0]10
我在MyEclipse中通过hibernate映射表的时候总是报错
在“Generating Artifacts”期间发生了内部错误。
unknown Oracle major version [0]
我查看了MyEclipse的日志文件信息如下:
!ENTRY org.eclipse.core.jobs 4 2 2008-11-08 09:56:42.031
!MESSAGE 在“Generating Artifacts”期间发生了内部错误。
!STACK 0
org.hibernate.HibernateException: unknown Oracle major version [0]
at org.hibernate.dialect.DialectFactory$1.getDialectClass(DialectFactory.java:135)
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:65)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2005)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:72)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$7.execute(GenerateArtifactsJob.java:877)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:65)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:91)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:858)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:405)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
IDE:MyEclipse 7.0
我查了网上的资料,有的说是在spring中添加方言,但还是出了问题,
我的数据库是Oracle9i2,有的说是把驱动换成ojdbc14.jar,但是问题还是没有解决。
这个问题困扰了我很久 ,不知道哪位前辈能帮我解决一下,谢谢。
问题补充:
我spring原来的配置是
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
我改成了
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop>
问题还是没有解决。
问题补充:
我只是想用IDE通过hibernate映射表,自动生成dao和hbm.xml文件,不用启动服务器吧。
补充一下,我的tomcat是版本是5.5.
问题补充:
我做的是ssh。我把hibernate放在了spring中进行管理。
以下是我的spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="DataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@127.0.0.1:1521:db">
</property>
<property name="username" value="test"></property>
<property name="password" value="admin"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="DataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop>
</props>
</property>
</bean></beans>2008年11月08日 10:09
11个答案 按时间排序 按投票排序
-
采纳的答案
Hibernate插件不从Spring配置文件中读取信息,而是使用自己的配置文件,明白了这个你就可以找到这个配置文件对方言进行修改了,呵呵
2008年11月08日 10:52
-
如果你是使用MyEclipse的话,在你的工程根目录下面会有一个.myhibernatedata文件,打开这个,看看其中是否有类似的configFile=/你的工程名/src/applicationContext.xml,Hibernate插件就是根据这句知道从哪里找配置项目的,检查一下这个吧,我知道你用SSH框架,但是eclipse插件不管你是不是SSH,它只负责根据配置的文件去特定地方找配置项目
2008年11月08日 11:08
-
呵呵,不好意思,刚看明白你这个问题的意思,原来不是做web开发,而是想用MyEclipse的Hibernate插件功能,这个也简单,因为Hibernate插件使用的另外的配置文件,不会从你这个Spring配置文件中读取信息的,你到你的工程目录下找一个类似.hibernate-console.properties的文件,好像是点儿打头的文件名,eclipse中看不见的,到这个里面把
hibernate.dialect=org.hibernate.dialect.Oracle9iDialect
改好就行了,如果没有自己手动添加2008年11月08日 10:48
-
向下面这样试 试
<property name="hibernateProperties">
<props>
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<!-- Set dialect to avoid "org.hibernate.HibernateException: unknown Oracle major version [0]" in some environment, e.g. Oracle 9i with WebSphere 5.x -->
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop>
</props>
</property>2008年11月08日 10:21
-
http://topic.csdn.net/u/20070910/10/0bdd6ded-de25-4363-9aa4-f74c20aba54a.html
跟你问题一样,在Spring的sessionFactory配置中加入<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop>
就一切OK了2008年11月08日 10:21
-
<!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" p:dataSource-ref="dataSource"> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop> </props> </property> </bean>
2008年11月08日 10:18
-
第一种:
换一下数据库驱动! 右键确定你的项目属性中有加载相应的驱动包
第二种:
1. 在生成表映射文件时,主键生成方式选择”assigned”(由外部分配).
2. 如果选”native”,在数据库中主键生成方式选择”Autoincrement”.2008年11月08日 10:16
相关推荐
hibernate动态映射表处理oralce10g的clob类型,压缩包为整个工程包. 真诚地希望能帮到你,同时真诚地希望你能和我交流, about any question^_^
自动生成hibernate映射文件和实体类
hibernate中使用自定义类型映射Oracle LONG类型
关于hibernate映射和查询,使用MySQL,适合初学者的练习
hibernate映射枚举类型,hibernate如何映射枚举类型
用来生成hibernate映射文件.从而实现不需手动写入。。。很实用的东东哦。。
常用 Hibernate 映射配置说明.doc
myeclipse自动生成hibernate映射文件
build.xml 手写自动生成Hibernate映射文件和配置文件源代码
根据实体类生成简单的Hibernate映射文件,对不用Myeclipse的童鞋还是有用
JDBC+Hibernate将Blob数据写入Oracle
Hibernate 多表映射关系配置 如,一对一 多对一 多对多等
用Hibernate映射继承关系
Myeclipse生成Hibernate映射文件
用MyEclipse自动生成hibernate映射文件和实体类
Hibernate映射解析 七种映射关系
Hibernate映射集合属性List,用于映射集合属性 List Hibernate 自动生成表 不需sql
Hibernate映射配置实例大全:详细总结了Hibernate的各种映射配置的方法,并逐一举例
hibernate 无主键表映射资源说明: 1. 简单Demo 2. Demo对应的sql语句 3. 对应博客文档