Olá pessoal,
eu preciso acrescentar a seguinte linha no meu DialectFactory do hibernate:
MAPPERS.put( "DB2/NT64", new VersionInsensitiveMapper( "org.hibernate.dialect.DB2Dialect" ) );
Pois ao utilizar o DB2 num servidor 64 bits dá o seguinte erro: "Hibernate Dialect must be explicitly set for database: DB2/NT64"
Mas eu não queria alterar os fontes do Hibernate. Alguém sabe se tem como mandar utilizar outro dialectFatory(já pesquisei e não rolou…) ou contornar esse problema de alguma outra forma?
Obrigado.
Na verdade o erro não é do dialeto (ele eu estou setando corretamente), mas não sei pq mesmo sentando ele, o hibernate tenta achá-lo no mappers com a key “DB2/NT64”… como não existe, a classe lança uma exceção.
Eu seto as propriedade do hibernate programaticamente, pois é um mbean que é executado pelo jboss e minhas classes ficam num jar dentro da pasta lib.
Segue abaixo o código:
Configurationconf=newConfiguration();Propertiesprop=conf.getProperties();//no hibernateProperties vem todas as propriedades que eu setei para meu mbean for(Stringchave:hibernateProperties.keySet()){Stringproperty=hibernateProperties.get(chave);prop.setProperty(chave,property);}//Aqui não sei pq ele vai no mappers da classe dialectFactory mesmo eu tendo setado o dialeto que eu quero e gera o erro...returnconf.buildSessionFactory();
[]´s
L
lekoloku
Resolvido… mesmo faltando a linha DB2/NT64 se eu setar o dialeto ele nunca vai ler o mappers…
No meu caso tinha um erro no nome da propriedade hibernate.dialect, que acabava impedindo setar o dialeto que eu estava usando e…