做的ejb3+jboss4.2.1+oracle9.2实体bean例子,一发布就抱错:unknown Oracle major version [0]

sailorbig 2007-09-10 10:38:12
已经检测ds.xml配置正确,datesource可以正常使用,抱错信息如下:
09:56:18,671 INFO [Environment] Hibernate 3.2.4.sp1
09:56:18,687 INFO [Environment] hibernate.properties not found
09:56:18,687 INFO [Environment] Bytecode provider name : javassist
09:56:18,687 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
09:56:18,875 INFO [Ejb3Configuration] found EJB3 Entity bean: entity.Person
09:56:19,312 INFO [Configuration] Reading mappings from resource : META-INF/orm
.xml
09:56:19,312 INFO [Ejb3Configuration] [PersistenceUnit: foshanshop] no META-INF
/orm.xml found
09:56:19,421 INFO [AnnotationBinder] Binding entity from annotated class: entit
y.Person
09:56:19,562 INFO [EntityBinder] Bind entity entity.Person on table Person
09:56:19,906 INFO [ConnectionProviderFactory] Initializing connection provider:
org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
09:56:19,906 INFO [InjectedDataSourceConnectionProvider] Using provided datasou
rce
09:56:20,578 INFO [SettingsFactory] RDBMS: Oracle, version: Oracle9i Enterprise
Edition Release 9.2.0.2.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining op
tions
JServer Release 9.2.0.2.0 - Production
09:56:20,578 INFO [SettingsFactory] JDBC driver: Oracle JDBC driver, version: 9
.2.0.1.0
09:56:20,609 WARN [ServiceController] Problem starting service persistence.unit
s:jar=ejbtest0904.jar,unitName=foshanshop
javax.persistence.PersistenceException: org.hibernate.HibernateException: unknow
n Oracle major version [0]
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Con
figuration.java:720)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFa
ctory(HibernatePersistence.java:127)
at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnit
Deployment.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
。。。。。。。。。。。。。。。。。。。。
09:56:20,750 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jbo
ss.ejb3.stateless.StatelessContainer
09:56:20,750 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=ejbte
st0904.jar,name=PersonDAOBean,service=EJB3 with dependencies:
09:56:20,750 INFO [JmxKernelAbstraction] persistence.units:jar=ejbtest090
4.jar,unitName=foshanshop
09:56:20,750 INFO [EJB3Deployer] Deployed: file:/D:/jboss-4.2.1.GA/server/defau
lt/deploy/ejbtest0904.jar
09:56:20,968 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../dep
loy/jmx-console.war/
09:56:21,156 ERROR [URLDeploymentScanner] Incomplete Deployment listing:

--- MBeans waiting for other MBeans ---
ObjectName: persistence.units:jar=ejbtest0904.jar,unitName=foshanshop
State: FAILED
Reason: javax.persistence.PersistenceException: org.hibernate.HibernateExcepti
on: unknown Oracle major version [0]
I Depend On:
jboss.jca:service=DataSourceBinding,name=OracleDS
Depends On Me:
jboss.j2ee:jar=ejbtest0904.jar,name=PersonDAOBean,service=EJB3

ObjectName: jboss.j2ee:jar=ejbtest0904.jar,name=PersonDAOBean,service=EJB3
State: NOTYETINSTALLED
I Depend On:
persistence.units:jar=ejbtest0904.jar,unitName=foshanshop

--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: persistence.units:jar=ejbtest0904.jar,unitName=foshanshop
State: FAILED
Reason: javax.persistence.PersistenceException: org.hibernate.HibernateExcepti
on: unknown Oracle major version [0]
I Depend On:
jboss.jca:service=DataSourceBinding,name=OracleDS
Depends On Me:
jboss.j2ee:jar=ejbtest0904.jar,name=PersonDAOBean,service=EJB3

...全文
2215 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
thyme 2008-03-21
  • 打赏
  • 举报
回复
我也碰到这个问题,感谢thinkapig!问题解决!!
thinkapig 2007-12-17
  • 打赏
  • 举报
回复
按marshal2004
说的做
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>


is
ok
龙卷风2015 2007-12-13
  • 打赏
  • 举报
回复
老兄,你试一试在,persistence.xml中加入数据库的方言。
sailorbig 2007-09-10
  • 打赏
  • 举报
回复
oracle-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:sailor</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>test</user-name>
<password>test</password>
<SetBigStringTryClob>true</SetBigStringTryClob>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>

persistence.xml
<persistence>
<persistence-unit name="foshanshop">
<jta-data-source>java:/OracleDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
</persistence>

person.java
package entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@SuppressWarnings("serial")
@Entity
@Table(name = "Person")

public class Person implements Serializable {
private Integer peronid;
private String name;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getPeronid() {
return peronid;
}

public void setPeronid(Integer peronid) {
this.peronid = peronid;
}


@Column(nullable=false,length=32)
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}


PersonDAOBean.jsp
package entity;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;


@Stateless
@Remote({PersonDAO.class})
public class PersonDAOBean implements PersonDAO {

@PersistenceContext(unitName="foshanshop")
protected EntityManager em;

public boolean insertPerson(String name) {
//
try {
Person person = new Person();
person.setName(name);
em.persist(person);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

public String getPersonNameByID(int personid) {
Person person = em.find(Person.class,personid);
return person.getName();
}

}
sailorbig 2007-09-10
  • 打赏
  • 举报
回复
已经测试,datesource没有问题,persistence.xml也贴在上面了,不是ds。xml的问题
silver_zhao 2007-09-10
  • 打赏
  • 举报
回复
数据库连接有问题

67,512

社区成员

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

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