Boa tarde, não consigo salvar o valor de um radio no banco de dados.Estou utilizando o hibernate também, alguém poderia me ajudar?
Essa a baixo é a minha camada ClienteDAO
public class ClienteDAO implements ClienteInterface {
@Override
public void salvarAtualizar(Cliente cliente){
EntityManager em = Conexao.getEntityManager();
em.getTransaction().begin();
if(cliente.getId() != null){
cliente = em.merge(cliente);
}
em.persist(cliente);
em.getTransaction().commit();
em.close();
}
@Override
public void excluir(Cliente cliente){
EntityManager em = Conexao.getEntityManager();
em.getTransaction().begin();
cliente = em.merge(cliente);
em.remove(cliente);
em.getTransaction().commit();
em.close();
}
@Override
public List<Cliente> pesquisar(Cliente cliente){
EntityManager em = Conexao.getEntityManager();
StringBuilder sql = new StringBuilder("from Cliente as c Where 1 = 1 ");
if(cliente.getId() != null){
sql.append("and c.id_cliente = :id_cliente ");
}
if(cliente.getNome() != null && !cliente.getNome().equals("")){
sql.append("and c.nome_cliente = :nome_cliente ");
}
if(cliente.getCpf() != null && !cliente.getCpf().equals("")){
sql.append("and c.cpf_cliente = :cpf_cliente ");
}
if(cliente.getStatus() != null && !cliente.getStatus().equals("")){
sql.append("and c.status_cliente = :status_cliente ");
}
Query query = em.createQuery(sql.toString());
if(cliente.getId() != null){
query.setParameter("id_cliente", cliente.getId());
}
if(cliente.getNome() != null && !cliente.getNome().equals("")){
query.setParameter("nome_cliente","%" +cliente.getNome()+"%");
}
if(cliente.getCpf() != null && !cliente.getCpf().equals("")){
query.setParameter("cpf_cliente","%" +cliente.getCpf()+"%");
}
if(cliente.getStatus() != null && !cliente.getStatus().equals("")){
sql.append("and c.status_cliente = :status_cliente ");
}
return query.getResultList();
}
}
Essa é a Classe de conexão ao banco:
public class Conexao {
private static EntityManagerFactory emf;
private static Conexao conexao;
public Conexao(){
emf = Persistence.createEntityManagerFactory("MechanicsPU");
}
public synchronized static EntityManager getEntityManager(){
if(conexao == null){
conexao = new Conexao();
}
return emf.createEntityManager();
}
}
e esse é o controller:
public final class ClienteController {
private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
private Cliente clienteDigitado;
private Cliente clienteSelecionado;
private List<Cliente> clientesTabela;
private final ClienteInterface clienteDAO;
public ClienteController(){
clienteDAO = ServiceLocator.getClienteDAO();
clientesTabela = ObservableCollections.observableList(new ArrayList<Cliente>());
novo();
pesquisar();
}
public void novo() {
setClienteDigitado(new Cliente());
}
public void pesquisar() {
clientesTabela.clear();
clientesTabela.addAll(clienteDAO.pesquisar(clienteDigitado));
}
public void salvar() throws ValidacaoException{
clienteDigitado.validar();
clienteDAO.salvarAtualizar(clienteDigitado);
novo();
pesquisar();
}
public void excluir(){
clienteDAO.excluir(clienteSelecionado);
novo();
pesquisar();
}
/**
* @return the clienteDigitado
*/
public Cliente getClienteDigitado() {
return clienteDigitado;
}
/**
* @param clienteDigitado the clienteDigitado to set
*/
public void setClienteDigitado(Cliente clienteDigitado) {
Cliente oldClienteDigitado = this.clienteDigitado;
this.clienteDigitado = clienteDigitado;
propertyChangeSupport.firePropertyChange("clienteDigitado",oldClienteDigitado,clienteDigitado);
}
/**
* @return the clienteSelecionado
*/
public Cliente getClienteSelecionado() {
return clienteSelecionado;
}
/**
* @param clienteSelecionado the clienteSelecionado to set
*/
public void setClienteSelecionado(Cliente clienteSelecionado) {
this.clienteSelecionado = clienteSelecionado;
if(this.clienteSelecionado != null){
setClienteDigitado(clienteSelecionado);
}
}
/**
* @return the clientesTabela
*/
public List<Cliente> getClientesTabela() {
return clientesTabela;
}
/**
* @param clientesTabela the clientesTabela to set
*/
public void setClientesTabela(List<Cliente> clientesTabela) {
this.clientesTabela = clientesTabela;
}
public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener ){
propertyChangeSupport.addPropertyChangeListener(propertyChangeListener);
}
public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener ){
propertyChangeSupport.removePropertyChangeListener(propertyChangeListener);
}
}
o que fazer?