保存()java.lang.NullPointerException
save() java.lang.NullPointerException
我已经实现了一些 类 与 OneToMany 关系,反之亦然,其中我在保存新对象时在同一站点中遇到错误。我的两个 类 是这些:
// imports
@Entity
@Table(name="articulo")
public class Articulo implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="idArticulo")
private Long idArticulo;
@Column(name="categoria")
private String categoria;
@Column(name="fecha_creacion")
private Date fecha_creacion;
@Column(name="fecha_modificacion")
private Date fecha_modificacion;
@Column(name="titulo")
private String titulo;
@Column(name="descripcion")
private String descripcion;
@Column(name="color")
private String color;
@Column(name="talla")
private String talla;
@Column(name="marca")
private String marca;
@Column(name="estadoVenta")
private String estadoVenta; //Valores: "En venta", "vendido"
@Column(name="estadoPrenda")
private String estadoPrenda;
@Column(name="precio_original")
private Float precio_original;
@Column(name="precio_venta")
private Float precio_venta;
@Column(name="precio_envio")
private Float precio_envio;
@Column(name="visto")
private Integer visto;
//Relacion muchos a uno
@ManyToOne
@JoinColumn(name="idUsuario")
private DatosUsuario datosUsuario;
@ManyToOne
@JoinColumn(name="idTransaccion")
private Transacciones transaccion;
//Relacion uno a muchos
@OneToMany
@JoinColumn(name="idImagen")
@IndexColumn(name="idx")
private List<Imagenes> imagenes;
//GETTERS Y SETTERS
/******************************************** **********************/
@Entity
@Table(name="usuario")
public class Usuario implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="idUsuario")
private Long idUsuario;
@Column(name="email")
private String email;
@Column(name="password")
private String password;
//Relacion uno a uno bidireccional
@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
private DatosUsuario datosUsuario;
在我的 ArticulosAction 中
public String saveArticulo() throws Exception{
if(articulo.getIdArticulo()== null ) {
HttpSession session = ServletActionContext.getRequest().getSession(true);
Long id= ((Long) session.getAttribute("IdUsuario"));
datosUsuario = datosUsuarioService.load(id);
articulo.setDatosUsuario(datosUsuario);
articulosService.add(articulo); // Aqui da el error
}else {
articulosService.update(articulo);
}
return SUCCESS;
}
在 ArticuloRepositoryImpl 中调用 ArticulosService:
public void add(Articulo articulo) {
getHibernateTemplate().save(articulo);
}
错误:
Estado HTTP 500 -
type Informe de Excepción
mensaje
descripción El servidor encontró un error interno que hizo que no pudiera
rellenar este requerimiento.
excepción
java.lang.NullPointerException
com.cice.crud.web.ArticulosAction.saveArticulo(ArticulosAction.java:58)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62
)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
我所有 类 的 OneToMany 关系都会发生这种情况,你能帮帮我吗?
** 已编辑:** 我已经对此进行了调试,并且 "articulo" 不为空,将数据插入到我的 jsp 页面中。在其他 类 及其各自的服务中,它可以工作,特别是在这些服务中除外。表之间的关系能有关系吗?
** 已编辑:** 在 mi ApplicationContext 中我有这个..换句话说
<bean id="articuloService" class="com.cice.crud.service.ArticuloServiceImpl"/>
<bean id="articuloRepository" class="com.cice.crud.service.ArticuloRepositoryImpl"/>
我想 articulosService
在这里是 null
:
articulosService.add(articulo);
当您发布错误堆栈时,它在 ArticulosAction.java 的第 58 行显示异常。您的 ArticulosService 的 bean 可能没有被映射,因此它抛出 NullPointerException.
请检查一次是否绑定
我已经实现了一些 类 与 OneToMany 关系,反之亦然,其中我在保存新对象时在同一站点中遇到错误。我的两个 类 是这些:
// imports
@Entity
@Table(name="articulo")
public class Articulo implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="idArticulo")
private Long idArticulo;
@Column(name="categoria")
private String categoria;
@Column(name="fecha_creacion")
private Date fecha_creacion;
@Column(name="fecha_modificacion")
private Date fecha_modificacion;
@Column(name="titulo")
private String titulo;
@Column(name="descripcion")
private String descripcion;
@Column(name="color")
private String color;
@Column(name="talla")
private String talla;
@Column(name="marca")
private String marca;
@Column(name="estadoVenta")
private String estadoVenta; //Valores: "En venta", "vendido"
@Column(name="estadoPrenda")
private String estadoPrenda;
@Column(name="precio_original")
private Float precio_original;
@Column(name="precio_venta")
private Float precio_venta;
@Column(name="precio_envio")
private Float precio_envio;
@Column(name="visto")
private Integer visto;
//Relacion muchos a uno
@ManyToOne
@JoinColumn(name="idUsuario")
private DatosUsuario datosUsuario;
@ManyToOne
@JoinColumn(name="idTransaccion")
private Transacciones transaccion;
//Relacion uno a muchos
@OneToMany
@JoinColumn(name="idImagen")
@IndexColumn(name="idx")
private List<Imagenes> imagenes;
//GETTERS Y SETTERS
/******************************************** **********************/
@Entity
@Table(name="usuario")
public class Usuario implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="idUsuario")
private Long idUsuario;
@Column(name="email")
private String email;
@Column(name="password")
private String password;
//Relacion uno a uno bidireccional
@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
private DatosUsuario datosUsuario;
在我的 ArticulosAction 中
public String saveArticulo() throws Exception{
if(articulo.getIdArticulo()== null ) {
HttpSession session = ServletActionContext.getRequest().getSession(true);
Long id= ((Long) session.getAttribute("IdUsuario"));
datosUsuario = datosUsuarioService.load(id);
articulo.setDatosUsuario(datosUsuario);
articulosService.add(articulo); // Aqui da el error
}else {
articulosService.update(articulo);
}
return SUCCESS;
}
在 ArticuloRepositoryImpl 中调用 ArticulosService:
public void add(Articulo articulo) {
getHibernateTemplate().save(articulo);
}
错误: Estado HTTP 500 -
type Informe de Excepción
mensaje
descripción El servidor encontró un error interno que hizo que no pudiera
rellenar este requerimiento.
excepción
java.lang.NullPointerException
com.cice.crud.web.ArticulosAction.saveArticulo(ArticulosAction.java:58)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62
)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
我所有 类 的 OneToMany 关系都会发生这种情况,你能帮帮我吗?
** 已编辑:** 我已经对此进行了调试,并且 "articulo" 不为空,将数据插入到我的 jsp 页面中。在其他 类 及其各自的服务中,它可以工作,特别是在这些服务中除外。表之间的关系能有关系吗?
** 已编辑:** 在 mi ApplicationContext 中我有这个..换句话说
<bean id="articuloService" class="com.cice.crud.service.ArticuloServiceImpl"/>
<bean id="articuloRepository" class="com.cice.crud.service.ArticuloRepositoryImpl"/>
我想 articulosService
在这里是 null
:
articulosService.add(articulo);
当您发布错误堆栈时,它在 ArticulosAction.java 的第 58 行显示异常。您的 ArticulosService 的 bean 可能没有被映射,因此它抛出 NullPointerException.
请检查一次是否绑定