Hibernate 2 - Dúvida

3 respostas
A

ola pessoal, eu fiz o tutorial sobre o hibernate aqui do guj e funcionou.. fui estudar ele mais a fundo e verifiquei que existe o hibernate 2, e no site do hibernate o help fala masi sobre o hibernate2.. tentei fazer um simples exemplo mas nao estou conseguindo nem o básico..
eu li algumas coisas la, primeiro o que é o JNDI, eu vi que é um ta de Java named e directory interface, mas pra que serve???
li algo la que se for desenvolver softwares desktop usa o hibernate 1.x o hibernate 2 é usado pra JNDI com J2EE e como meu objetivo é usar hibernate com servlet/jsp estou tentando esutdar o hibernate2....

tentei fazer apenas uma conexao e deu erro.. segue abaixo as classes, banco de dados é o mySQL

import javax.swing.JOptionPane;

public class Cadastro {
  private Cadastro() {
  	JOptionPane.showMessageDialog(null,"Preparar");
  	try {
  		DAO db = new DAO();
  		JOptionPane.showMessageDialog(null,"Funcionou");
  	} catch (Exception erro) {
  		JOptionPane.showMessageDialog(null,erro.getMessage());
  	}
  }

	public static void main(String[] args) {
		new Cadastro();
	}
}
Aquivo DAO
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;

public class DAO {
	private SessionFactory factory;
	
	public DAO() throws Exception {
		Configuration config = new Configuration();
		config.addClass(UO.class);
		config.addFile("UO.hbm.xml");
		factory = config.buildSessionFactory();		
	}

}
classe do Objeto
public class UO {

	private int Codigo;

	private String Nick;

	private String Cidade;

	public int getCodigo() {
		return Codigo;
	}

	public void setCodigo(int Codigo) {
		this.Codigo = Codigo;
	}

	public String getNick() {
		return Nick;
	}

	public void setNick(String Nick) {
		this.Nick = Nick;
	}

	public String getCidade() {
		return Cidade;
	}

	public void setCidade(String Cidade) {
		this.Cidade = Cidade;
	}

	public UO() {
	}

	public UO(int Codigo) {
		this.Codigo = Codigo;
	}

	public UO(int Codigo, String Nick, String Cidade) {
		this.Codigo = Codigo;
		this.Nick = Nick;
		this.Cidade = Cidade;
	}

}

arquivo .properties
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost/java
hibernate.connection.username = java
hibernate.connection.password = java
hibernate.connection.pool_size= 5

arquivo UO.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping.dtd">
<hibernate-mapping>
    <class name="UO" table="UO">
        <id name="Codigo" column="Codigo" type="int">
            <generator class="assigned"/>
        </id>
        <property name="Nick" type="string"/>
        <property name="Cidade" type="string"/>
    </class>
</hibernate-mapping>

e eu li algo sobre criar um arquivo hibernate.cfg.xml
eu copiei da pagina do hibernate

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 2.0//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
    <!-- a SessionFactory instance listed as /jndi/name -->
    <session-factory name="java:comp/env/hibernate/SessionFactory">
        <!-- properties -->
        <property name="connection.datasource">my/first/datasource</property>
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">false</property>
        <property name="use_outer_join">true</property>
        <property name="transaction.factory_class">net.sf.hibernate.transaction.JTATransactionFactory</property>
        <property name="jta.UserTransaction">java:comp/UserTransaction</property>
        <!-- mapping files -->
        <mapping resource="UO.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

o Erro é o seguinte...

java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaClass
at net.sf.hibernate.cfg.Configuration.add(Configuration.java:230)
at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:252)
at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:286)
at DAO.(DAO.java:15)
at Cadastro.(Cadastro.java:13)
at Cadastro.main(Cadastro.java:21)

3 Respostas

louds

voce precisa do pacote beanutils da apache…
pega ele em jakarta.apache.org

A

veradade… puxei esse arquivo e os outors que precisavam… e agora da o seguinte erro

java.lang.ExceptionInInitializerError

at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:613)

at DAO.(DAO.java:17)

at Cadastro.(Cadastro.java:7)

at Cadastro.main(Cadastro.java:15)

Caused by: java.lang.IllegalStateException: No backend found

at net.sf.cglib.CodeGenerator.(CodeGenerator.java:127)

at net.sf.cglib.KeyFactoryGenerator.(KeyFactoryGenerator.java:93)

at net.sf.cglib.KeyFactory.create(KeyFactory.java:114)

at net.sf.hibernate.impl.SessionFactoryImpl.<clinit>(SessionFactoryImpl.java:318)

 4 more

alterei dentro da classe DAO, no construtor deixei assim:

public DAO&#40;&#41; throws Exception &#123; Configuration config = new Configuration&#40;&#41;; config.addClass&#40;UO.class&#41;; //config.addFile&#40;&quot;UO.hbm.xml&quot;&#41;; factory = config.buildSessionFactory&#40;&#41;; &#125;

coentei a linha addFile senao dava erro de arquivo duplicado

C

Quando inicio o TOMCAT sem estar conectado a internet o seguinte erro abaixo acontece.

19:12:15,953 ERROR [/cfp]:3767 = Exception sending context initialized event to listener instance of class br.com.cfp.servlets.IniciaSessao java.lang.ExceptionInInitializerError at br.com.cfp.servlets.IniciaSessao.contextInitialized(IniciaSessao.java:18) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) at org.apache.catalina.core.StandardService.start(StandardService.java:450) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource br/com/cfp/modelo/Banco.hbm.xml at org.hibernate.cfg.Configuration.addResource(Configuration.java:523) at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1511) at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1479) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1458) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1432) at org.hibernate.cfg.Configuration.configure(Configuration.java:1352) at br.com.cfp.jdbc.HibernateFactory.&lt;clinit&gt;(HibernateFactory.java:19) ... 16 more Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:469) at org.hibernate.cfg.Configuration.addResource(Configuration.java:520) ... 22 more Caused by: org.dom4j.DocumentException: Error on line 4 of document : External entity not found: "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd". Nested exception: External entity not found: "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd". at org.dom4j.io.SAXReader.read(SAXReader.java:482) at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:460) ... 23 more

Alguem saberia me informar como eu faço para resolver esse problema?

Caca

Criado 1 de julho de 2003
Ultima resposta 30 de ago. de 2007
Respostas 3
Participantes 3