estou fazendo a mminha primeira aplicação usando o hibernate na hora de testar a inha aplicação ele diz que na transaçãoa tual ele naun pode salvar o objeto da esse erro que esta no console do meu eclipse
12:38:20,796 INFO SessionFactoryObjectFactory:105 - Not binding factory to JNDI, no JNDI name configured
Exception in thread “main” org.hibernate.HibernateException: save is not valid without active transaction
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:338)
at $Proxy8.save(Unknown Source)
at Persistencia.ClienteDAO.Salvar(ClienteDAO.java:19)
at Loader.App.main(App.java:19)
o meu hibernateutil é esse
package Persistencia;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
o meu dao é esse
package Persistencia;
import org.hibernate.Session;
import Bean.Pessoa;
import Persistencia.HibernateUtil;
public class ClienteDAO {
private Session session;
public ClienteDAO() {}
public void Salvar(Pessoa cliente){
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.save(cliente);
session.getTransaction().commit();
}
}
e o meu bean
package Bean;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name = "cliente")
public class Pessoa implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column( name="nome_cliente",length=255)
private String nome;
@Column( name="idade")
private int idade;
public Pessoa() {}/*cosntrutor default*/
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
}
alguem sabe me dizer onde esta o emu erro é na hora de crair a session do hibernete ou o que seria