quarta-feira, 29 de junho de 2011

No Dialect mapping for JDBC type: 2004

Olá..

Um cliente aqui usa o banco de dados Informix.. ao testar nosso projeto nesse banco tive o seguinte erro:

13:57:15,040 INFO [DatabaseMetadata] table not found: MY_TABLE
13:57:15,041 ERROR [SchemaUpdate] could not complete schema update: org.hibernate.MappingException: No Dialect mapping for JDBC type: 2004
at org.hibernate.dialect.TypeNames.get(TypeNames.java:79) [:3.5.5-Final]
at org.hibernate.dialect.TypeNames.get(TypeNames.java:104) [:3.5.5-Final]
at org.hibernate.dialect.Dialect.getTypeName(Dialect.java:347) [:3.5.5-Final]

O problema era que temos uma tabela que guarda uma imagem em uma de suas colunas e usamos @Lob no seu mapeamento. O Dialeto do Informix não aceitou o @Lob.

Para resolver extendi o Dialeto do Informix e adicionei as seguinte linhas no construtor:

registerColumnType(Types.BLOB, "blob");
registerColumnType(Types.CLOB, "clob");

Mais detalhes em http://www.snailshell.de/blog/archives/2007/06/entry_108.html

Alterei o persistence.xml para usar o dialeto que criei e o projeto funcionou perfeitamente.

Outras fontes:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2646
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2523

Vaaleu
Adriano Schmidt

quinta-feira, 16 de junho de 2011

java.lang.String cannot be cast to org.servebox.flex.mojo.FlexLicense

Olá, aconteceu comigo agora o erro:

java.lang.ClassCastException: java.lang.String cannot be cast to org.servebox.flex.mojo.FlexLicense
at org.servebox.flex.mojo.base.AbstractFlexMakeMojo.handleCompilationOptions(AbstractFlexMakeMojo.java:1142)
at org.servebox.flex.mojo.base.AbstractFlexMakeMojo.handleConfiguration(AbstractFlexMakeMojo.java:990)
at org.servebox.flex.mojo.base.AbstractFlexMakeMojo.invokeCompiler(AbstractFlexMakeMojo.java:923)
at org.servebox.flex.mojo.MakeSWFMojo.invokeCompiler(MakeSWFMojo.java:105)
at org.servebox.flex.mojo.base.AbstractFlexMakeMojo.compile(AbstractFlexMakeMojo.java:858)
at org.servebox.flex.mojo.MakeSWFMojo.compile(MakeSWFMojo.java:113)

O erro aconteceu pois eu usei a tag abaixo:
<licenses>
<flexbuilder3>1111-1111-1111-1111-1111-1111</flexbuilder3>
</licenses>

Mas deveria ter usado da seguinte forma:
<flex3LicenceKey>1111-1111-1111-1111-1111-1111</flex3LicenceKey>

Ambas as formas estavam dentro de <plugin> e dentro de <configuration>

Vaaleu!