3.2.2.6. Migração de seu Aplicativo Hibernate 3.3.x para Hibernate 4.x
Mapeie os tipos de Hibernate
textparaJDBC LONGVARCHARNas versões anteriores ao Hibernate 3.5, o tipotextera mapeado paraJDBC CLOB. Um novo tipo de Hibernate,materialized_clob, foi adicionado ao Hibernate 4 para mapear as propriedades JavaStringparaJDBC CLOB. Caso o seu aplicativo possua propriedades configuradas comotype="text"que devem ser mapeadas paraJDBC CLOB, você precisa seguir uma das opções abaixo:- Se o seu aplicativo utiliza arquivos de mapeamento hbm, altere a propriedade para
type="materialized_clob". - Se o seu aplicativo utiliza anotações, você deve substituir
@Type(type = "text")por@Lob.
Revise o código para encontrar alterações nos tipos de valores retornados
As projeções de critérios de agregação numérica agoram retornam o mesmo tipo de valor que seus equivalentes HQL. Como consequência, os tipos retornados das seguintes projeções emorg.hibernate.criterionforam alterados.- Devido às alterações em
CountProjection,Projections.rowCount(),Projections.count(propertyName)eProjections.countDistinct(propertyName), as projeçõescountecount distinctagora retornam um valorLong. - Devido às alterações em
Projections.sum(propertyName), as projeçõessumretornam agora um tipo de valor que depende do tipo de propriedade.Nota
Falha em modificar o código do seu aplicativo pode resultar emjava.lang.ClassCastException.- Para as propriedades mapeadas como Long, Short, Integer ou tipos integer primitivos, o valor Long é retornado;
- Para as propriedades mapeadas como Float, Double ou tipos de ponto flutuante primitivo, o valor Double é retornado.