Boa noite pessoal,
estou desenvolvendo uma pequena aplicação com hibernate e estou tentando utilizar um COLUMN TRANSFORMER para tratar o valor de uma determinada coluna, porém ao adicionar os atributos necessários no mapeamento da classe que ocorre a bendita org.hibernate.InvalidMappingException!!!
[img]http://3.bp.blogspot.com/_molLkKTqp3E/S9zccsEGleI/AAAAAAAABjk/eCAGCzhsTv8/s1600/fuuuuu.jpg[/img]
Segue o xml do mapeamento da classe
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="br.com.manager.model.entity.Debito" table="MNGR_DEBITO"
schema="MNGR">
<id name="id" type="long">
<column name="DEB_ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">SEQ_DEBITO</param>
</generator>
</id>
<property name="valor" type="double">
<column name="DEB_VALOR" precision="19" scale="2" not-null="true" />
</property>
<properties name="uniqueDebito" unique="true" update="false">
<property name="mes" type="integer">
<column name="DEB_MES" precision="2" scale="0" not-null="true"
read="DEB_MES" write="?" />
</property>
<property name="ano" type="integer">
<column name="DEB_ANO" precision="4" scale="0" not-null="true" />
</property>
<many-to-one name="tipo">
<column name="TP_DEB_ID" precision="2" scale="0" not-null="true" />
</many-to-one>
</properties>
</class>
</hibernate-mapping>
Stacktrace
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource hbm/Debito-hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:616)
at org.hibernate.cfg.AnnotationConfiguration.addResource(AnnotationConfiguration.java:957)
at org.hibernate.cfg.AnnotationConfiguration.parseMappingElement(AnnotationConfiguration.java:629)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1047)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1035)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1476)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1017)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:64)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1011)
at persistence.dao.util.HibernateUtil.<clinit>(HibernateUtil.java:20)
... 1 more
Caused by: org.hibernate.MappingException: invalid mapping
at org.hibernate.cfg.AnnotationConfiguration.addInputStream(AnnotationConfiguration.java:777)
at org.hibernate.cfg.AnnotationConfiguration.addInputStream(AnnotationConfiguration.java:64)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:613)
... 16 more
Caused by: org.xml.sax.SAXParseException: Attribute "read" must be declared for element type "column".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1275)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1940)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:785)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.hibernate.cfg.AnnotationConfiguration.addInputStream(AnnotationConfiguration.java:773)
... 18 more
Basta retirar os atributos "read" e "write" da tag column da propriedade "mes" q a aplicação funciona normalmente.
Somebody help!! []'s.