Как сохранить данные с помощью Hibernate 4.2.6 + Struts 2 + Netbeans 8.0 + Tomcat 8.0.3.0JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как сохранить данные с помощью Hibernate 4.2.6 + Struts 2 + Netbeans 8.0 + Tomcat 8.0.3.0

Сообщение Anonymous »

Когда я пытаюсь сохранить объект, используя элементы, перечисленные в теме основного заголовка, я получаю следующую ошибку:

цель имеет значение null for setProperty(null, "tiposClientesIdTipoCliente", [Ljava.lang.String;@2504d0cd)

Сначала у меня есть это действие класс, полученный с использованием Hibernate:

Код: Выделить всё

public class Cliente implements java.io.Serializable {

private Integer idCliente;
private int tiposClientesIdTipoCliente;
private String nombreCliente;
private int telefonoCliente;

public Cliente() {
}

public Cliente(int tiposClientesIdTipoCliente, String nombreCliente, int telefonoCliente) {
this.tiposClientesIdTipoCliente = tiposClientesIdTipoCliente;
this.nombreCliente = nombreCliente;
this.telefonoCliente = telefonoCliente;
}

public Integer getIdCliente() {
return this.idCliente;
}

public void setIdCliente(Integer idCliente) {
this.idCliente = idCliente;
}

public int getTiposClientesIdTipoCliente() {
return this.tiposClientesIdTipoCliente;
}

public void setTiposClientesIdTipoCliente(int tiposClientesIdTipoCliente) {
this.tiposClientesIdTipoCliente = tiposClientesIdTipoCliente;
}

public String getNombreCliente() {
return this.nombreCliente;
}

public void setNombreCliente(String nombreCliente) {
this.nombreCliente = nombreCliente;
}

public int getTelefonoCliente() {
return this.telefonoCliente;
}

public void setTelefonoCliente(int telefonoCliente) {
this.telefonoCliente = telefonoCliente;
}

}
Во-вторых, это мой интерфейс DAO:

Код: Выделить всё

package dao;

import entities.Cliente;
import java.util.ArrayList;

public interface ClienteDAO {

public boolean agrego(Cliente cliente);
public boolean borrar(Cliente cliente);
public ArrayList listar();
}
В-третьих, я получил это как реализацию DAO:

Код: Выделить всё

package dao;

import entities.Cliente;
import java.util.ArrayList;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class ClienteImpl implements ClienteDAO {

Transaction transaction = null;
Session session;

public boolean agrego(Cliente cliente) {
try
{
session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction=session.beginTransaction();
//registrar o actualizar
session.saveOrUpdate(cliente);
transaction.commit();
return true;
}
catch(Exception e)
{
if(transaction!=null)
transaction.rollback();

return false;
}
}

public boolean borrar(Cliente cliente) {
try
{
session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction=session.beginTransaction();
session.delete(cliente);
transaction.commit();
return true;
}
catch(Exception e)
{
if(transaction!=null)
transaction.rollback();

return false;
}
}

public ArrayList listar() {
try
{
Session session;
Transaction transaction;
session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction=session.beginTransaction();
return (ArrayList)session.createQuery("from Cliente").list();
}
catch(Exception e)
{
return null;
}
}
}
В-четвёртых, это мой контроллер:

Код: Выделить всё

 package controllers;

import com.opensymphony.xwork2.ModelDriven;
import dao.ClienteImpl;
import dao.ClienteDAO;
import entities.Cliente;
import java.util.ArrayList;

public class ClienteController implements ModelDriven {

Cliente cliente = new Cliente();//
ArrayList  listaclientes = new ArrayList();
ClienteDAO clienteDAO;
String msg = "";

public ClienteController() {
clienteDAO = new ClienteImpl();
}

public Cliente getModel() {
return cliente;
}

public String agrego() {
clienteDAO.agrego(cliente);
listaclientes = clienteDAO.listar();
return "exito";
}

public String borrar() {
clienteDAO.borrar(cliente);
listaclientes = clienteDAO.listar();
return "exito";
}

public String listar() {
listaclientes = clienteDAO.listar();
return "exito";
}

public Cliente getDatos() {
return cliente;
}

public void setDatos(Cliente datos) {
this.cliente = datos;
}

public ArrayList getListaclientes() {
return listaclientes;
}

public String getMsg() {
return msg;
}
}
В-шестых, это форма, которую я использую для добавления нового объекта/данных: и, наконец, это мое действие в файле struts.xml:

Код: Выделить всё

/jsp/clientes.jsp

Я не знаю, чего мне не хватает. Я могу загружать и отображать данные из одной и той же БД, но не могу добавлять/обновлять или удалять их.


Подробнее здесь: https://stackoverflow.com/questions/231 ... mcat-8-0-3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»