Man*_*iya 6 java postgresql hibernate
Initial SessionFactory creation failed.org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
27 Dec, 2012 6:38:34 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet commission threw exception
org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
at org.hibernate.dialect.TypeNames.get(TypeNames.java:79)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:104)
at org.hibernate.dialect.Dialect.getTypeName(Dialect.java:347)
at org.hibernate.mapping.Column.getSqlType(Column.java:208)
at org.hibernate.mapping.Table.sqlCreateString(Table.java:419)
at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:930)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:105)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:383)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
at com.core.commission.HibernateUtil.<clinit>(HibernateUtil.java:15)
at com.core.commission.service.BaseCommissionService.saveRules(BaseCommissionService.java:48)
at com.core.commission.service.BaseCommissionService.processSave(BaseCommissionService.java:22)
at com.core.web.CommissionServlet.processRequest(CommissionServlet.java:51)
at com.core.web.CommissionServlet.doPost(CommissionServlet.java:34)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
Run Code Online (Sandbox Code Playgroud)
我在启动Web服务器时遇到上述错误.我使用枚举映射与enity类.就像是...
@Column(name = "commission_type")
@Type(type = "com.core.commission.model.FNEnumUserType", parameters = @Parameter(name = "type", value = "com.core.commission.dto.CommissionType"))
private CommissionType commissionType;
Run Code Online (Sandbox Code Playgroud)
问题是什么,我错过了配置中的任何内容吗?谢谢 !!
堆栈跟踪告诉你的是Hibernate正处于初始化过程中,特别是正在执行Configuration.generateSchemaCreationScript,它遍历所有映射表并为它们生成DDL.作为其中的一部分,它查询现有列并将它们转换为内部Hibernate表示.它通过调用ResultSetMetaData::getColumnType然后TypeNames::get使用生成的类型代码调用来完成此操作.问题是getColumnType返回的类型代码为1111,意思是" 其他 ",而Hibernate不知道如何处理它.
基本上,你的一个表中的某个地方是一个Hibernate无法处理的类型的列.如果您可以确定哪个列,您可以开始考虑如何处理它.
尝试在数据库端进行跟踪,在应用程序代码中放置一些断点或添加一些日志条目,以识别生成此错误的查询是什么,即在错误发生之前正在执行的查询。
获得查询后,尝试通过将语句分解为小块来缩小根本原因,并查看方言不支持哪种类型的列/变量。
| 归档时间: |
|
| 查看次数: |
21450 次 |
| 最近记录: |