Não cosigo salvar a lista, não consigo identificar o erro, já li tudo tentando a dias resolver isso, vou postar o codigo e a saida do sql gerado eclipse,
itemDao
//ja passei assim tb: public void salvaLista(List<Item> item){
public void salvaLista(Item item){
em.merge(item);
}
Controller
@Post
@Path("/itemList/atualizarStatus")
public void atualizarStatus(List<Item> item) {
for(Item i : item){
// dao.findById(i.getId());
dao.salvaLista(i);
}
result.redirectTo(NotaController.class).lista();
}
o jsp
form action="<c:url value="/itemList/atualizarStatus"/>" method="POST">
<c:forEach items="${itemList}" var="item">
<tr>
<td><input type="text" name="item.id" value="${item.id}" /></td>
<td><input type="text" name="item.nota.id" value="${item.nota.id}" /></td>
<td><input type="text" name="item.produto.id" value="${item.produto.id}" /></td>
<td><input type="text" name="item.produtoValor" value="${item.produto.valor}" /></td>
<td><input type="text" name="item.cor.id" value="${item.cor.id}" /></td>
<td><input type="text" name="item.medida.id" value="${item.medida.id}" /></td>
<td><input type="text" name="item.quantidade" value="${item.quantidade}" /></td>
<td><input type="text" name="item.statusNoSite" value="${item.statusNoSite}" /></td>
</tr>
</c:forEach>
<button type="submit">Mudar Status</button>
</form>
O Html , ta preenchido certinho
<form action="/vraptor-produtos/itemList/atualizarStatus" method="POST">
<tr>
<td><input type="text" name="item.id" value="476" /></td>
<td><input type="text" name="item.nota.id" value="1" /></td>
<td><input type="text" name="item.produto.id" value="1" /></td>
<td><input type="text" name="item.produtoValor" value="4.0" /></td>
<td><input type="text" name="item.cor.id" value="1" /></td>
<td><input type="text" name="item.medida.id" value="3" /></td>
<td><input type="text" name="item.quantidade" value="1.0" /></td>
<td><input type="text" name="item.statusNoSite" value="false" /></td>
</tr>
<tr>
<td><input type="text" name="item.id" value="477" /></td>
<td><input type="text" name="item.nota.id" value="1" /></td>
<td><input type="text" name="item.produto.id" value="1" /></td>
<td><input type="text" name="item.produtoValor" value="4.0" /></td>
<td><input type="text" name="item.cor.id" value="2" /></td>
<td><input type="text" name="item.medida.id" value="5" /></td>
<td><input type="text" name="item.quantidade" value="1.0" /></td>
<td><input type="text" name="item.statusNoSite" value="false" /></td>
</tr>
<button type="submit">Mudar Status</button>
</form>
Saida do console
Hibernate:
select
produto0_.id as id1_5_0_,
produto0_.codigoSite as codigoSi2_5_0_,
produto0_.fornecedor_id as forneced7_5_0_,
produto0_.nome as nome3_5_0_,
produto0_.nomeProdutoFornecedor as nomeProd4_5_0_,
produto0_.urlImagem as urlImage5_5_0_,
produto0_.valor as valor6_5_0_
from
Produto produto0_
where
produto0_.id=?
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
Item
(cor_id, medida_id, nota_id, produto_id, produtoValor, quantidade, statusNoSite)
values
(?, ?, ?, ?, ?, ?, ?)
08:57:16,778 DEBUG [CDIBasedContainer ] asking cdi to get instance for interface br.com.caelum.vraptor.view.LogicResult
08:57:16,778 DEBUG [CDIBasedContainer ] beans for interface br.com.caelum.vraptor.view.LogicResult is [Managed Bean [class br.com.caelum.vraptor.view.DefaultLogicResult] with qualifiers [@Any @Default]]
08:57:16,778 DEBUG [DefaultLogicResult ] redirecting to class NotaController
08:57:16,778 DEBUG [JavassistProxifier ] Class br.com.inteligenteweb.grade.controller.NotaController is proxy: false
08:57:16,780 DEBUG [JavassistProxifier ] a proxy for class br.com.inteligenteweb.grade.controller.NotaController was created as class br.com.inteligenteweb.grade.controller.NotaController_$$jvsted59
08:57:16,780 DEBUG [JavassistProxifier ] Class br.com.inteligenteweb.grade.controller.NotaController is proxy: false
08:57:16,780 DEBUG [DefaultRouter ] Selected route for public java.util.List br.com.inteligenteweb.grade.controller.NotaController.lista() is [FixedMethodStrategy: /nota/lista lista [GET]]
08:57:16,781 DEBUG [DefaultRouter ] Returning URL /nota/lista for [FixedMethodStrategy: /nota/lista lista [GET]]
08:57:16,781 DEBUG [DefaultLogicResult ] redirecting to /vraptor-produtos/nota/lista
08:57:16,781 DEBUG [DefaultInterceptorStack] All registered interceptors have been called. End of VRaptor Request Execution.
Hibernate:
update
Item
set
cor_id=?,
medida_id=?,
nota_id=?,
produto_id=?,
produtoValor=?,
quantidade=?,
statusNoSite=?
where
id=?
Hibernate:
update
Item
set
cor_id=?,
medida_id=?,
nota_id=?,
produto_id=?,
produtoValor=?,
quantidade=?,
statusNoSite=?
where
id=?
08:57:16,875 DEBUG [ForwardToDefaultView] Request already dispatched and commited somewhere else, not forwarding.
Obs. só existem 2 itens na lista, ele faz um insert no BD conforme código com um monte de campos null, muito estranho. Estou a dias tentando resolver, por favor estou com projeto agarrado nisso aqui.