Eduardo_Cust_io 10 de set. de 2012
Pede que pude entender está dizendo que se vc vc configurar o atributo type na sua coluna <property name="nome" type="AnsiString"/>
ou usar a anotação se for o caso @Type(type="AnsiString") irá resolver.
Não testei, então não garanto nada.
robinsonbsilva 10 de set. de 2012
Obrigado,
Vou testar aqui, depois dou um feedback.
robinsonbsilva 10 de set. de 2012
Boas,
Infelizmente o hibernate 3 não reconhece tal mapeamento:
& lt ; property name = "status" column = "stMat" not - null = "true" type = "AnsiString" /& gt ;
o erro abaixo é apresentado:
[10/09/12 16:03:28:699 BRT] 0000001a SystemErr R org.hibernate.MappingException: Could not determine type for: AnsiString, at table: TABLE_R, for columns: [org.hibernate.mapping.Column(Status)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java : 292)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java : 276)
at org.hibernate.mapping.Property.isValid(Property.java : 207)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java : 458)
at org.hibernate.mapping.RootClass.validate(RootClass.java : 215)
at org.hibernate.cfg.Configuration.validate(Configuration.java : 1135)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java : 1320)
at br.gov.sp.prodesp.hibernate.util.HibernateUtil.loadSessionFactory(HibernateUtil.java : 182)
at br.gov.sp.prodesp.hibernate.util.HibernateUtil.<init>(HibernateUtil.java : 133)
at br.gov.sp.prodesp.peq.servlet.StartPlugin.inicializaHibernate(StartPlugin.java : 92)
at br.gov.sp.prodesp.peq.servlet.StartPlugin.init(StartPlugin.java : 49)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java : 871)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java : 359)
at javax.servlet.GenericServlet.init(GenericServlet.java : 256)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java : 235)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java : 342)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java : 1375)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java : 175)
at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java : 99)
at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java : 934)
at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java : 856)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java : 574)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java : 395)
at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java : 293)
at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java : 93)
at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java : 162)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java : 673)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java : 626)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java : 335)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java : 551)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java : 1274)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java : 1137)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java : 573)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java : 816)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java : 945)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java : 2120)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java : 342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java : 1560)
rimolive 12 de set. de 2012
Isso depende dos tipos de dados que o dialeto do Hibernate registra. se não me engano. Veja um exemplo do Dialeto do MySQL 5:
protected void registerVarcharTypes () {
registerColumnType ( Types . VARCHAR , "longtext" );
// registerColumnType ( Types . VARCHAR , 16777215 , "mediumtext" );
registerColumnType ( Types . VARCHAR , 65535 , "varchar($l)" );
registerColumnType ( Types . LONGVARCHAR , "longtext" );
}
O que precisa verificar é se no dialeto existe algum tipo registrado para Types.NVARCHAR, o que acredito que no MySQL não tenha.