E ae galera,beleza?
Segui o exemplo de hibernate de uma apostila caelum,mas to tento problemas ao tentar inserir um objeto no banco.
Segue a minha classe modelo do objeto:
@Entity
public class EstoqueSucata {
@Id@GeneratedValue
private int Ah;
private int Quantidade;
public int getAh() {
return Ah;
}
public void setAh(int Ah) {
this.Ah = Ah;
}
public int getQuantidade() {
return Quantidade;
}
public void setQuantidade(int Quantidade) {
this.Quantidade = Quantidade;
}
}
Minha classe principal:
public static void main(String[] args) {
// TODO code application logic here
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.configure();
SessionFactory factory;
factory = configuration.buildSessionFactory();
Session session = factory.openSession();
EstoqueSucata estoqueTeste = new EstoqueSucata();
estoqueTeste.setAh(100);
estoqueTeste.setQuantidade(50);
Transaction tx = session.beginTransaction();
session.save(estoqueTeste);
tx.commit();
session.close();
}
}
esse é o arquivo XML hibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : hibernate.cfg.xml
Created on : 1 de Setembro de 2011, 12:13
Author : Alencar
Description:
Purpose of the document follows.
-->
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/paulobaterias</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.hbm22ddl.auto">update</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping class="Modelos.EstoqueSucata.class" />
</session-factory>
</hibernate-configuration>
e esse é o erro gerado ao executar o projeto:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WARN Please initialize the log4j system properly. Exception in thread "main" org.hibernate.MappingException: invalid configuration at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1493) at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:990) at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:69) at org.hibernate.cfg.Configuration.configure(Configuration.java:1434) at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:972) at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:69) at org.hibernate.cfg.Configuration.configure(Configuration.java:1420) at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:966) at Principal.Main.main(Main.java:27) Caused by: org.xml.sax.SAXParseException: Document is invalid: no grammar found. 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.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:250) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922) 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.Configuration.doConfigure(Configuration.java:1490)
Parece que o erro é relacionado ao arquivo xml,o que está errado?
Outra dúvida como gerar o banco de dados a partir das classes de entidade com anotações?
vlw!