Erro com Hibernate Validator

3 respostas
cs.santos0

Iai pessual,

estou estudando a apostila da caelum sobre a loja virtual, pesquisei aki no guj e vi q mtas pessoas tiveram o msm problema q eu, mas nenhum dos tópicos foi responsido.

O que acontece é que o sistema estava funcionando normalmente, ele inseria, alterava e removia musicas e cds, porem quando eu inseri as validações ele começou a dar erro quando eu removo:

javax.servlet.ServletException: not-null property references a null or transient value: br.com.caelum.lojavirtual.modelo.Musica.titulo org.vraptor.VRaptorServlet.service(VRaptorServlet.java:95) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

alguem ai sabe oq está acontecendo??

Obrigado

3 Respostas

nbluis

o titulo da musica está nulo… e deve ter um tag que valida isso na propriedade.

cs.santos0

calsse Musica:

@Entity
public class Musica {

	@Id
	@GeneratedValue
	private Long id;
	
	@NotNull(message="O titulo não pode estar vazio")
	@NotEmpty(message="O titulo não pode estar vazio")
	private String titulo;
	
	private Double preco;
	
	@ManyToOne
	private Cd cd;

classe MusicaLogic

@Validate(params={"musica"})
	public void armazena (Musica musica) {
		this.daoFactory.beginTransaction();
		this.daoFactory.getMusicaDao().atualiza(musica);
		this.daoFactory.commit();
	}

jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
	<title>Cadastro de m&uacute;sicas</title>
	<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
	<%@ include file="../menu.jsp" %>
	<h1>Cadastro de musica</h1>
	<form action="musica.armazena.logic" method="post">
		<input type="hidden" name="musica.id" value="${musica.id}"/>
		CD: <select name="musica.cd.id">
			<c:forEach var="cd" items="${listaCds}">
			<option value="${cd.id}" <c:if test="${musica.cd.id == cd.id}">selected="true"</c:if>>${cd.titulo}
			</option>
			</c:forEach>
		</select>
		Titulo: <input type="text" name="musica.titulo" value="${musica.titulo}"/>
		Preco: <input type="text" name="musica.preco" value="${musica.preco}"/>
		<input type="submit"/>
		<ul id="erros">
			<c:forEach var="error" items="${errors.iterator}">
				<li>${error.key}</li>
			</c:forEach>
		</ul>
	</form>
</body>
</html>

eu inseri essas validações, tem q acrecentar ou tirar algo??

Obrigado

cs.santos0

Alguem pode dar uma ajuda ai??

vlw

Criado 17 de dezembro de 2007
Ultima resposta 18 de dez. de 2007
Respostas 3
Participantes 2