Olá a todos ... bem estou com erro aqui que creio que seja básico mas to a dois dias mexendo e nda, ... já usei esse código uma vez, mas não o que falta que agora ele não está funcionando ... bem, eu simplesmente estou querendo gravar em um banco de dados, mas está dando o seguinte erro:
#{Cadastro_User.salvar}: java.lang.NullPointerException
public class usuario_Handler {
private Usuario usuario = new Usuario();
private List<Usuario> users = new ArrayList<Usuario>();
public List<Usuario> getUsers() {
return users;
}
public void setUsers(List<Usuario> users) {
this.users = users;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public void salvar() {
Session session = HibernateUtil.currentSession();
DAO_generico<Usuario> dao = new DAO_generico<Usuario>(session, Usuario.class);
dao.adiciona(usuario);
this.usuario = new Usuario();
}
}
public class HibernateUtil {
//private static Logger logger = Logger.getLogger(HibernateUtil.class);
private static final SessionFactory sessionFactory;
private static ThreadLocal<Session> sessions = new ThreadLocal<Session>();
static {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
}
public static Session openSession(){
sessions.set(sessionFactory.openSession());
return sessions.get();
}
public static void closeCurrentSession(){
sessions.get().close();
sessions.set(null);
}
public static Session currentSession(){
return sessions.get();
}
}
public class DAO_generico<T> {
private Class persistentClass;
private Session session;
public DAO_generico(Session session, Class persistentClass){
this.session = session;
this.persistentClass = persistentClass;
}
protected Session getSession(){
return session;
}
@SuppressWarnings("unchecked")
public T load(Long id){
return (T) session.load(persistentClass, id);
}
public void adiciona(T t){
session.save(t);
}
public void remove(T t){
session.delete(t);
}
public List<T> list(){
return session.createCriteria(persistentClass).list();
}
public void saveOrUpdate(T t){
session.saveOrUpdate(t);
}
}
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/teste</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">admin</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="Persistencia.Clan"/>
<mapping class="Persistencia.Usuario"/>
<mapping class="Persistencia.Noticia"/>
</session-factory>
</hibernate-configuration>