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
quarta-feira, 29 de junho de 2011
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!
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!
segunda-feira, 21 de março de 2011
Unable to find XML mapping file in classpath
Ao usar a tag <mapping-file> no meu persistence.xml tive o seguinte erro quando iniciei o JBoss:
Unable to find XML mapping file in classpath: br.com.localhost8080.Teste2.hbm.xml
O erro era que a separação dos pacotes deve ser feita com barra e não ponto:
Assim:
<mapping-file>br/com/localhost8080/Teste2.hbm.xml</mapping-file>
Não assim:
<mapping-file>br.com.localhost8080.Teste2.hbm.xml</mapping-file>
Vaaleu!
Adriano Schmidt
Unable to find XML mapping file in classpath: br.com.localhost8080.Teste2.hbm.xml
O erro era que a separação dos pacotes deve ser feita com barra e não ponto:
Assim:
<mapping-file>br/com/localhost8080/Teste2.hbm.xml</mapping-file>
Não assim:
<mapping-file>br.com.localhost8080.Teste2.hbm.xml</mapping-file>
Vaaleu!
Adriano Schmidt
cvc-complex-type.2.4.a: Invalid content was found starting with element 'mapping-file'
Olá,
Ao utilizar a tag <mapping-file> no persistence.xml eu tive o seguinte erro:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'mapping-file'. One of '{"http://
java.sun.com/xml/ns/persistence":class, "http://java.sun.com/xml/ns/persistence":exclude-unlisted-classes,
"http://java.sun.com/xml/ns/persistence":properties}' is expected.
O problema é que no meu persistence.xml eu tinha uma tag <class> antes da tag <mapping-file>. Para resolver só joguei a tag class pra baixo da tag <mapping-file>. Assim:
<mapping-file>br/com/localhost8080/Teste2.hbm.xml</mapping-file>
<class>br.com.localhost8080.Teste1</class>
Caso você use a tag <jar-file> ela também deve estar depois da tag <mapping-file>
Vaaleu!
Ao utilizar a tag <mapping-file> no persistence.xml eu tive o seguinte erro:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'mapping-file'. One of '{"http://
java.sun.com/xml/ns/persistence":class, "http://java.sun.com/xml/ns/persistence":exclude-unlisted-classes,
"http://java.sun.com/xml/ns/persistence":properties}' is expected.
O problema é que no meu persistence.xml eu tinha uma tag <class> antes da tag <mapping-file>. Para resolver só joguei a tag class pra baixo da tag <mapping-file>. Assim:
<mapping-file>br/com/localhost8080/Teste2.hbm.xml</mapping-file>
<class>br.com.localhost8080.Teste1</class>
Caso você use a tag <jar-file> ela também deve estar depois da tag <mapping-file>
Vaaleu!
sexta-feira, 18 de março de 2011
JBoss 6 Final eclipse
Olá, utilizando o JBoss 6 M5 no eclipse tudo ocorria bem, quando fui migrar para o JBoss 6 Final tive o seguinte erro:
Error installing to Instantiated: name=PostEjbJarMetadataDeployer state=Described: java.lang.NoSuchMethodError: javax.annotation.Resource.lookup()Ljava/lang/String;
Para resolver bastou adicionar nos VM arguments o seguinte:
-Djava.endorsed.dirs="C:\jboss-6.0.0-Final\lib\endorsed"
Troque C:\jboss-6.0.0-Final pela pasta do seu JBoss.
Fontes:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=250643
http://community.jboss.org/message/587813?tstart=60
Vaaleu!
Error installing to Instantiated: name=PostEjbJarMetadataDeployer state=Described: java.lang.NoSuchMethodError: javax.annotation.Resource.lookup()Ljava/lang/String;
Para resolver bastou adicionar nos VM arguments o seguinte:
-Djava.endorsed.dirs="C:\jboss-6.0.0-Final\lib\endorsed"
Troque C:\jboss-6.0.0-Final pela pasta do seu JBoss.
Fontes:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=250643
http://community.jboss.org/message/587813?tstart=60
Vaaleu!
quinta-feira, 17 de março de 2011
p:tabView volta primeira aba
Olá,
O TabView do primefaces volta para a primeira aba em algumas situacoes (quando ele está dentro de um <a4j:outputPanel ajaxRendered="true"> e dentro de um tab tem um rich:datatable e um botão é pressionado no datascroller (nossa, é difícil, mas aconteceu comigo)).
Para resolver isso, simplesmente tire o tabView do outputPanel.
Caso isso não possa ser feito, na troca de aba deve ser setado o 'activeIndex' do tabView. Da seguinte forma:
No tabView deve ser adicionado o tabChangeListener e o activeIndex. E as tabs devem ter seu id setado:
No Bean adicione isso:
Acredito que isso não funciona no primefaces 2.1.. aqui no 2.2.1 funcionou..
É isso, vaaleu. Abraço.
O TabView do primefaces volta para a primeira aba em algumas situacoes (quando ele está dentro de um <a4j:outputPanel ajaxRendered="true"> e dentro de um tab tem um rich:datatable e um botão é pressionado no datascroller (nossa, é difícil, mas aconteceu comigo)).
Para resolver isso, simplesmente tire o tabView do outputPanel.
Caso isso não possa ser feito, na troca de aba deve ser setado o 'activeIndex' do tabView. Da seguinte forma:
No tabView deve ser adicionado o tabChangeListener e o activeIndex. E as tabs devem ter seu id setado:
<p:tabView tabChangeListener="#{myBean.onTabChange}" activeIndex="#{myBean.currentTab}">
<p:tab title="primeria aba" id="tab0">
</tab>
<p:tab title="segunda aba" id="tab1">
</tab>
<p:tab title="terceira aba" id="tab2">
</tab>
</p:tabView>No Bean adicione isso:
private int currentTab = 0;
public int getCurrentTab() {
return currentTab;
}
public void setCurrentTab(int currentTab) {
this.currentTab = currentTab;
}
public void onTabChange(org.primefaces.event.TabChangeEvent event) {
String id = event.getTab().getId();
if (id.equals("tab0")) {
this.setCurrentTab(0);
} else if (id.equals("tab1")) {
this.setCurrentTab(1);
} else if (id.equals("tab2")) {
this.setCurrentTab(2);
}
}
Acredito que isso não funciona no primefaces 2.1.. aqui no 2.2.1 funcionou..
É isso, vaaleu. Abraço.
sexta-feira, 11 de março de 2011
ORA-01452: cannot CREATE UNIQUE INDEX
Olá,
Fui criar um índice único no oracle:
CREATE UNIQUE INDEX nome_do_indice ON nome_da_tabela (coluna1, coluna2, coluna3);
e aconteceu o seguinte erro:
Error: ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
Isso aconteceu pois na tabela que fui inserir o índice já haviam registros que violavam esse índice, por isso não permitiu criar..
Para resolver removi os registros que violavam o índice e deu tudo certo.
Mais detalhes sobre o erro: http://ora-01452.ora-code.com/
Mais detalhes sobre índices no oracle: http://www.techonthenet.com/oracle/indexes.php
Vaaleu!
Adriano Schmidt.
Fui criar um índice único no oracle:
CREATE UNIQUE INDEX nome_do_indice ON nome_da_tabela (coluna1, coluna2, coluna3);
e aconteceu o seguinte erro:
Error: ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
Isso aconteceu pois na tabela que fui inserir o índice já haviam registros que violavam esse índice, por isso não permitiu criar..
Para resolver removi os registros que violavam o índice e deu tudo certo.
Mais detalhes sobre o erro: http://ora-01452.ora-code.com/
Mais detalhes sobre índices no oracle: http://www.techonthenet.com/oracle/indexes.php
Vaaleu!
Adriano Schmidt.
terça-feira, 8 de março de 2011
erro converter jsf
Olá,
Ao criar um converter para utilizar na minha aplicação JSF, tive um problema quando defino ele com o forClass e value (converter-for-class e converter-id no faces-config.xml) simultaneamente.
Apenas um dos dois é permitido, os dois juntos não! Se precisa disso terá que criar duas classes diferentes.
Veja como não pode ser feito:
<converter>
<converter-id>Localhost8080Converter</converter-id>
<converter-for-class>java.lang.String</converter-for-class>
<converter-class>br.com.localhost8080.Localhost8080Converter</converter-class>
</converter>
@FacesConverter(forClass = String.class, value="Localhost8080Converter")
public class Localhost8080Converter implements Converter { ... }
É isso aí. Abraços.
Adriano Schmidt
Ao criar um converter para utilizar na minha aplicação JSF, tive um problema quando defino ele com o forClass e value (converter-for-class e converter-id no faces-config.xml) simultaneamente.
Apenas um dos dois é permitido, os dois juntos não! Se precisa disso terá que criar duas classes diferentes.
Veja como não pode ser feito:
<converter>
<converter-id>Localhost8080Converter</converter-id>
<converter-for-class>java.lang.String</converter-for-class>
<converter-class>br.com.localhost8080.Localhost8080Converter</converter-class>
</converter>
@FacesConverter(forClass = String.class, value="Localhost8080Converter")
public class Localhost8080Converter implements Converter { ... }
É isso aí. Abraços.
Adriano Schmidt
quinta-feira, 3 de março de 2011
join type not supported by OracleJoinFragment
Hoje ao usar um right join num banco oracle tive o seguinte erro:
join type not supported by OracleJoinFragment (use Oracle9iDialect/Oracle10gDialect)
Para resolver tive que trocar o hibernate.dialect do persistence.xml de:
org.hibernate.dialect.OracleDialect
para:
org.hibernate.dialect.Oracle10gDialect
Pronto, resolvido.
Adriano Schmidt
join type not supported by OracleJoinFragment (use Oracle9iDialect/Oracle10gDialect)
Para resolver tive que trocar o hibernate.dialect do persistence.xml de:
org.hibernate.dialect.OracleDialect
para:
org.hibernate.dialect.Oracle10gDialect
Pronto, resolvido.
Adriano Schmidt
terça-feira, 8 de fevereiro de 2011
SQL Server - Apparently wrong driver class specified for URL
Olá, hoje tive o seguinte erro ao iniciar o JBoss num ambiente SQL Server 2000:
15:45:18,348 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: com.microsoft.sqlserver.jdbc.SQLServerDriver, url: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydatabase)
O problema era a URL de conexão com o banco no meu arquivo ds.xml, tirei o :microsoft
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydatabase
jdbc:sqlserver://localhost:1433;DatabaseName=mydatabase
Vaaleu!
Adriano Schmidt
15:45:18,348 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: com.microsoft.sqlserver.jdbc.SQLServerDriver, url: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydatabase)
O problema era a URL de conexão com o banco no meu arquivo ds.xml, tirei o :microsoft
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydatabase
jdbc:sqlserver://localhost:1433;DatabaseName=mydatabase
Vaaleu!
Adriano Schmidt
Assinar:
Postagens (Atom)
