Olá pessoal… to tendo um problema na hora de dá um insert que realmente não consigo enteder… o hibernate não está salvando nos campos corretos, olhas as classes seguinte…
Esse é servlet básico:
package com.rs.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.rs.bo.UsuarioBo;
import com.rs.dto.UsuarioDTO;
@WebServlet("/Cadastro")
public class CadastroServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public CadastroServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UsuarioDTO dto = new UsuarioDTO();
UsuarioBo bo = new UsuarioBo();
dto.setLogin(request.getParameter("login"));
dto.setPassword(request.getParameter("password"));
if (bo.inserir(dto)){
response.sendRedirect("home.html");
} else {
response.sendRedirect("error.html");
}
}
}
Essa é DAO:
package com.rs.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.rs.dto.UsuarioDTO;
import com.rs.factory.ConexaoHiber;
import com.rs.factory.DAO;
public class UsuarioDAO extends DAO {
private Session session;
public boolean inserir(UsuarioDTO usuario) {
session = ConexaoHiber.getInstance();
Transaction tx = null;
try{
tx = session.beginTransaction();
session.save(usuario);
tx.commit();
return true;
}catch (Exception e) {
e.printStackTrace();
tx.rollback();
}finally{
session.close();
}
return false;
}
}
DTO:
package com.rs.dto;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="usuario")
public class UsuarioDTO {
@Id
@GeneratedValue
private long id;
@Column(name="login", nullable=false)
private String login;
@Column(name="password", nullable=false)
private String password;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public UsuarioDTO(String login, String password){
this.login = login;
this.password = password;
}
public UsuarioDTO(){
}
}
BO:
package com.rs.bo;
import com.rs.dao.UsuarioDAO;
import com.rs.dto.UsuarioDTO;
public class UsuarioBo {
private UsuarioDAO dao;
public UsuarioBo(){
dao = new UsuarioDAO();
}
public boolean inserir(UsuarioDTO usuario){
return dao.inserir(usuario);
}
}
eu tenho um campo id, login e password… mais o problema é que ele joga o que está no login pra dentro do id e o password pra dentro do login… e o password fica vazio… alguém sabe o que seria???
Obrigado desde já!!!