2010-04-27 123 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