Deve ser algum problema no mapeamento da classe… crie todos os métodos getters e setters dos atributos da classe e mapeie os métodos getters corretamente.
Qualquer coisa posta o código ai…
S
semer
Andre eu não deu certo ou eu não fiz alguma coisa certa.
publicclassHibernateFactory{privatestaticSessionFactoryfactory;//cria configuração para a classe pessoastatic{AnnotationConfigurationcfg=newAnnotationConfiguration();cfg.addAnnotatedClass(Pessoa.class);factory=cfg.buildSessionFactory();}publicSessiongetSession(){returnfactory.openSession();}}
e por último o Action do Struts
publicclassPessoaIncludeHibernateextendsAction{publicStringnome,email,telefone;publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestreq,HttpServletResponseres){Sessionsession=newHibernateFactory().getSession();//recebe os dados do formulario...PessoaFormpessoaForm=(PessoaForm)form;nome=pessoaForm.getNome();telefone=pessoaForm.getTelefone();email=pessoaForm.getEmail();//envia informações para o Bean...Pessoapessoa=newPessoa();pessoa.setNome(nome);pessoa.setTelefone(telefone);pessoa.setEmail(email);session.save(pessoa);session.close();returnmapping.findForward("incluir");}
Bom o código é esse..
vlw!
Giulliano
Cara q apostila vc esta seguindo…
Vc esta usando annotations na sua classe Pessoa…não precisa criar o arquivo pessoa.hbm.xml
Vc importou todos os jars do hibernate core (hibernate.jar mais todos os libs da pasta lib dentro do hibernata) e todas as libs do hibernate annotations
DICA VALIOSA: se vc não possui muita experiência com hibernate não comece usando hibernate+struts…crie uma classe de teste com um método public static void main e faça os teste nela…quando funcionar vc põe na sua action
S
semer
vlw a dica Giulliano,
Estou usando a apostila 21 da caelum, eu vou tentar fazer sem utilizar o Struts.
Eu importei tudo sim, peguei todos os .jar existentes e coloquei no meu projeto.
Mas eu usando o Hibernate com Annotation e eu possuir arquivos .hbm.xml, isso influencia no erro tb?
flw…
kadekdu
Kra reafirmo o que o camarada acima disse! eu sempre uso aki o hbm.xml… por padrão da galera aki! a maioria vence né!!! hahaha
seguinte…
no seu hibernate.cfg se não me engano tem q referenciar a o hbm q trabalha
ae nesse caso eu rancaria as anotações (NÃO TENHO NADA CONTRA!) só por costme de usar aki!
no demais se precisar tenho uma apostila fera em pt aki comigo!
o valor unitário seria de 500 reais! ahahaahah zuera!
só pedir!
abraço
kdu
S
semer
kdu, gostaria de dar uma olhada nessa apostila sim, manda para mim???
A realidade é o seguinte eu estou aprendendo tudo ainda, tanto o Struts como o Hibernate, a minha maior preocupação é com o mercado de trabalho, ou seja, o que vcs programadores mais experientes utilizam…
Segundo vc utilizam-se mais o Hbm, certo?
flw!
kadekdu
kra aki a galera usa só .hbm.xml… não vejo mta treta nisso!
acho bacana até!
não sou experiente na área não kra… tenho pouco tempo de java… mas pelo q percebi a galera usa mto anotations…
seria legal levantar isso me interesso tb nessa parada!
mandei pra vc as paradas!
abraço
kdu
Rafael_Ferraro
Fala pessoal, estou passando por um problema parecido mas não consigo resolver.
estou fazendo o projeto no netbeans e já peguei todos os arquivos pelo próprio netbeans, por isso creio que o problema nao seja com a lib
segue minhas classes se alguem puder me ajudar
@EntitypublicclassEmailimplementsSerializable{@Id@GeneratedValueprivateintid;privateStringassunto;privateStringtexto;privateStringanexo;//getters e setters
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><propertyname="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/bdcatalogos</property><propertyname="hibernate.connection.username">root</property><propertyname="hibernate.connection.password">cadesbarneia</property><mappingclass="modelagem.Email"/></session-factory></hibernate-configuration>
classe de teste
publicclassAdicionaEmail{publicstaticvoidmain(String[]args){AnnotationConfigurationhibernate=newAnnotationConfiguration();hibernate.configure();SessionFactoryfactory=hibernate.buildSessionFactory();// AQUI ELE GERA A EXCEPTIONSessionsessao=factory.openSession();Emailemail=newEmail();email.setAssunto("Teste");email.setTexto("Teste");email.setAnexo("teste");Transactiontr=sessao.beginTransaction();sessao.save(email);tr.commit();}}
MARQUEI A LINHA NA QUAL ELE TRAZ A EXCEPTION = SessionFactory factory = hibernate.buildSessionFactory();
alessandronarciso
E aih Rafael,
Cara use a classe HibernateUtil
publicclassHibernateUtil{privatestaticfinalSessionFactorysessionFactory;static{try{// Create the SessionFactory from standard (hibernate.cfg.xml) // config file.sessionFactory=newAnnotationConfiguration().configure().buildSessionFactory();}catch(Throwableex){// Log the exception. System.err.println("Initial SessionFactory creation failed."+ex);thrownewExceptionInInitializerError(ex);}}publicstaticSessiongetSessionFactory(){returnsessionFactory.openSession();}}
Na classe Main use apenas
Session sessao = new HibernateUtil().getSessionFactory();