Amigos,
Perdoem-me! Sei que o assunto é batido, mas nao consegui resolver.
Tenho uma aplicaçao com SPRING MVC e JPA, criei um formulário simples, com um campo só para testar tudo. Se eu envio uma palavra com acento ou outro caractere especial, o hibernate gera o seguinte SQL:
insert
into
Identifiable
(name)
values
(?)
Ou seja, troca tudo por uma interrogaçao doida.
Detalhes:
[list]Estou usando Netbeans;
[list]O banco É MySQL, sendo o charset latin1, latin1_swedish_ci, ou seja se eu tentar inserir algum caractere especial usando outro cliente, funciona corretamente;[/list]
[list]Nao encontrei uma forma de definir o colation geral do projeto no Netbeans, mas mudei os de todas as páginas envolvidas.[/list]
[list]Segue a configuraçao da unidade de persistencia:
[/list]
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="SpecialistProPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>org.specialistpro.domain.Identifiable</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.connection.charset" value="ISO8859-1"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/specialistpro"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
Já grato pela ajuda de sempre!
MaLSan