在线急等……各位大虾MyEclipse6.5反转Oracle表为何反转不了?

MaWenWu281107072139 2009-08-24 06:51:05
在线急等……各位大虾MyEclipse6.5反转Oracle表为何反转不了?
MyEclipse弹出个对话框 报如下的错误:

Generating Artifacts(Time of error:August 24,2009 6:31:10 PM GMT+08:00)
Reason:
unknown Oracle major version[0]


An internal error occurred during:“Generating Artifacts”。
unknown Oracle major version[0]


...全文
325 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozejun 2009-08-24
  • 打赏
  • 举报
回复
实在不行 建议楼主 更换MyEclipse版本
或者说 从别的版本上反出来 然后在copy过来
也可以自己直接用手写 毕竟手写的才是真实的
有时候反出来也要改啊
xiaozejun 2009-08-24
  • 打赏
  • 举报
回复
楼主的问题很多人都出现过
Oracle反不出 实体bean 和实体映射文件有以下几个原因:
1.Oracle9i版本与MyEclipse的不兼容性
Oracle中都自带jre,并且jre版本都相对比较低。甚至用jre1.1.8
一般来说,装完Oracle后,都要修改Path变量,把Oracle中加载到path中的jre path去除。
如果先装jdk,后装oracle尤其要注意此事。否则,有时会带给你很大困扰。

2.和spring的集成问题
先导hibernate架包 然后进行实体bean的反转 然后在导入spring的架包
(这个版本是hibernate3.1+spring2.0)其他版本未测试

3.MyEclipse版本的问题
这个问题在MyEclipse5.5/6.0都不会出现(当然前提是你的编译器没有问题)
只有MyEclipse6.5有这个问题 MyEclipse6.5以上版本未经测试 不知道

4.MyEclipse插件安装问题
插件本身在默认安装后,Hibernate相关的配置和生成的模版有误。可能的解决方式是重装MyEclipse插件,更换路径或版本号。
还有就是在配置项目的Spring和hibernate支持的时候将hibernate相关的包都勾上。
在选择JDBC连接时,注意数据库方言设置是否正确。Oracle默认的方言是:Oracle9i/10g

5.MyEclipse 4.5以上版本,本身自带有JRE。但是常常问题就出现在这方面。默认带的JDK版本过低。导致在6.5或6.6版本中常出现内存泄露问题。所有的MyEclipse相关的插件都共用这个默认的jre如MyEclipse Database Explorer 。。。
建议不要使用MyEclipse自带的JDK,而使用系统安装的JDK(不是JRE)。

6.针对Oracle来说,它的JDBC驱动有两种class12.jar和ojdbc14.jar,前者对Hibernate的支持不好,连接常出现问题,推荐后者。
由于驱动问题导致这个异常的情况特别多,因为ojdbc14.jar有两个版本,一个版本为9.0.1.1另一个是9.2.1.1后者经常性出现这个问题。
通过查看他们的大小可以看出来版本,推荐使用9.0.1.1版本(也就是文件大小是1.5MB左右)。9.2.1.1的JAR文件大小是1.1MB左右。
如果通过更换驱动还不能解决问题,请您继续往下看。这里的驱动不是只在项目里用的驱动包,而是在配置“MyEclipse Database Explorer”连接数据库时所使用的jar包。
如果项目一开始使用12的版本出现了这样的问题,后来再更换,就无法解决了。只能重装MyEclipse 插件

7.MyEclipse 会在项目相关的很多个配置文件中记录。典型的就是项目目录中那些以“.”开头的文件,查看一下就知道了在MyEclipse较老版本的”.myhibernatedata”文件里加入如下内容也可以解决。

“hibernate.dialect=org.hibernate.dialect.MySQLDialect”。
多查看一下这个文件,相关的参数还有:configFile=/../../hibernate.cfg.xml" 是否指向错误。


8.如果是部署EJB3.0到JBoss的时候出现这个问题:unknown Oracle major version[0]
实际上是Hibernate的属性设置出现了问题,只需要添加或者修改hibernate.dialect属性,如:
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
具体操作:
在EJB3.0下,修改persistence.xml文件,添加hibernate.dialect属性

希望楼主能够解决问题

  • 打赏
  • 举报
回复
我用的Oracle9i啊。版本不算高吧。
说明一下我是用SSH做集成,如果重新新建一个Web项目单独只用Hibernate 反转Oracle相同的表可以反转。
但是 如果是用SHH做集成就不行。现在我想要反转映射文件是拿到了。
可是 我就是想弄明白SHH做集成为何就反转不了。
请大侠们帮忙看看……。
说说如何解决……。
在此谢谢了
老紫竹 2009-08-24
  • 打赏
  • 举报
回复
unknown Oracle major version[0]

版本号不匹配?是不是Oracle版本太高了啊!

67,517

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧