2010-04-27 100 views
1

我想配置一个ejb3示例应用程序,它是映射到postgres的实体,现在我想要使用JPA在Jboss4.3和Informix上运行该应用程序。什么导致这个org.hibernate.MappingException?

如果DDL创建<property name="hibernate.hbm2ddl.auto" value="create"/>是活动出现此错误

> WARN [ServiceController] Problem 
> starting service 
> persistence.units:ear=weblog.ear,jar=weblog.jar,unitName=weblog 
> javax.persistence.PersistenceException: 
> [PersistenceUnit: weblog] Unable to 
> build EntityManagerFactory 
>   at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677) 
>   at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132) 
>   at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246) 

其次

Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: 2005 
      at org.hibernate.dialect.TypeNames.get(TypeNames.java:56) 
      at org.hibernate.dialect.TypeNames.get(TypeNames.java:81) 
      at org.hibernate.dialect.Dialect.getTypeName(Dialect.java:291) 
      at org.hibernate.mapping.Column.getSqlType(Column.java:182) 
      at org.hibernate.mapping.Table.sqlCreateString(Table.java:394) 
      at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:854) 
      at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:74) 
      at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:311) 
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300) 
      at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:874) 
      at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669) 

什么是JDBC类型:2005是什么意思? 任何想法如何追踪实体/列导致问题?

谢谢

+0

您是否试图在您的映射和配置文件中搜索任何“2005”? – 2010-04-27 14:36:05

+0

是的,2005年没有发生 – stacker 2010-04-27 14:46:41

回答

2

有关您试图映射的数据类型的更多信息将是很好的。 看看这个休眠论坛话题 - >https://forum.hibernate.org/viewtopic.php?f=1&t=950692&start=0

+1

+1你可能引导我关于数据类型的正确方向,我花了几个小时将postgres DDL转换为informix,现在出现的问题是另一个问题。谢谢 – stacker 2010-04-27 21:16:32

1

注意,有一个新的(截至2010-04-26)网页,http://www.iiug.org/opensource,有大约使用Informix软件与各种开源软件包,包括信息休眠。特别是有可下载的代码来改进Hibernate和Informix的交互。

+0

+1谢谢,我将检查那里列出的休眠项目。 – stacker 2010-04-29 05:44:04