Bom dia Pessoal,Estou estudando uns materiais da Caelum que eu tenho e gostaria de postar, e simples, mas muito importante que sao os CASTING, o que seria um casting no Java?Alguns valores sao incompativeis se tentar fazer uma atribuicao direta. Enquanto o numero real costuma ser representado em uma variavel double, tentar atribuir ele em uma variavel int nao funcionara porque e um codigo que diz: "e deve valer d", mas nao sabe se d realmente e um numero inteiro ou nao.// dessa forma nao compiladouble d = 3.14;int e = d; O erro ocorre tambem na seguinte situacao:int e = 3.14; // nesse caso a variavel int so armazena numeros inteirosAssim tambem o codigo nao compila:double d = 5; // ok, o double armazena numeros inteiros.int e = d; // nao compila.As vezes, precisamos que um numero quebrado seja arredondado e armazenado num numero inteiro. Para fazer isso sem que haja o erro de compilacao, e preciso ordenar que o numero quebrado seja moldado (casted) como um numero inteiro. Esse processo recebe o numero de casting.double d2 = 3.14; int e = (int) d2; // o cating foi feito para moldar a variavel d2 como um int, o valor de e agora e 3. Boa tarde pessoal, quanto tempo ne?!Estou passando por um periodo de correria, entao estou sem tempo de postar no blog.Mas vai ai uma sugestao que poupou algumas horas do meu trabalho.Estava com um problema no sistema onde estou trabalhando, era na hora de executar qualquer consulta do sistema, ele nao buscava os resultados quando usavamos letras maiusculas e acentuacao, passou pela minha cabeca em criar uma funcao em cada componente de pesquisa para retirar acentos e maiusculas, mas achei meio tosco essa solucao e bem trabalhosa, por que teria que mexer no sistema todo, entao coloquei a caixola pra pensar mais e eu sabia que havia uma solucao mais limpa, pedi ajuda para para o nosso arquiteto (Anderson Junqueira) e ele me disse que tinha como criar uma solucao mais simples e bem melhor, ao inves de adotar a solucao anterior para cada componente eu criei um classe que na hora que ele abre a conexao com o banco (ORACLE), ele roda um script que faz todo esse trabalho, olha o codigo abaixo como ficou:import java.sql.Connection;import java.sql.SQLException;import org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor;import org.eclipse.persistence.sessions.SessionEvent;import org.eclipse.persistence.sessions.SessionEventAdapter; /** * @author Eduardo Monteiro * @since 17/12/2013 */ public class DBSessionListener extends SessionEventAdapter { public DBSessionListener() { super(); } /** * Metodo criado para desconsiderar acentuacao e letras maiusculas, * apos abrir a conexao com o banco de dados. * @param event */ @Override public void postAcquireConnection(SessionEvent event) { Connection conn = ((DatabaseAccessor)event.getResult()).getConnection(); try { conn.createStatement().executeUpdate("alter session set NLS_COMP=LINGUISTIC"); conn.createStatement().executeUpdate("alter session set NLS_SORT=BINARY_AI"); } catch(SQLException ex) { ex.printStackTrace(); } }}Otimo, agora configurei no persistence.xml que fica dentro do META-INF do projeto, e ficou dessa forma:<?xml version="1.0" encoding="windows-1252" ?><persistence 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/persistencehttp://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="NOMEDOPERSISTENCE-UNIT"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> RETIREIAS ENTIDADES PARA O EXEMPLO NAO FICAR GRANDE <properties> <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/> <property name="eclipselink.target-database" value="Oracle11"/> <property name="eclipselink.id-validation" value="NULL"/> <property name="eclipselink.logging.level" value="OFF"/> <property name="eclipselink.cache.shared.default" value="false"/> <property name="eclipselink.query-results-cache" value="false"/> <property name="eclipselink.jdbc.sequence-connection-pool.initial"value="1"/> <property name="eclipselink.jdbc.sequence-connection-pool.max"