Estou tentando ampliar meu sistema e estou criando outras tabelas e campos. Estou criando a tabela 'produto', e para evitar que o usuario digite qualquer coisa no campo 'preço', criei uma mask usando JQuery. Porem, está dando algum erro para salvar exatamente esse campo no banco de dados. Alguem me diz o que posso fazer. Segue os codigos:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib tagdir="/WEB-INF/tags" prefix="erro"%>
<%@ include file="/WEB-INF/jsp/header.jsp"%>
<%@ include file="/WEB-INF/jsp/dropmenu.jsp"%>
<script
src="<c:url value='/bootstrap/assets/js/vendor/jquery.maskedinput.min.js'/>"></script>
<script
src="<c:url value='/bootstrap/assets/js/vendor/jquery.maskMoney.js'/>"></script>
<script>
jQuery(function($) {
$("#preco").maskMoney({
prefix : 'R$ ',
thousands : '.',
decimal : ','
});
});
</script>
<form action="${linkTo[ProdutoController].adiciona(null)}" method="post">
<div class="form-group row">
<label class="col-xs-2 col-form-label" for="nome">Nome:</label>
<div class="col-xs-12">
<input type="text" name="produto.nome" id="nome" class="form-control"
value="${produto.nome}" />
</div>
</div>
<erro:validationMessage name="produto.nome" />
<div class="form-group row">
<label class="col-xs-2 col-form-label" for="descricao">Descricao:</label>
<div class="col-xs-12">
<input type="text" name="produto.descricao" id="descricao"
class="form-control" value="${produto.descricao}" />
</div>
</div>
<erro:validationMessage name="produto.descricao" />
<div class="form-group row">
<label class="col-xs-2 col-form-label" for="preco">Preço:</label>
<div class="col-xs-12">
<input type="text" id="preco" class="form-control"
name="produto.preco" value="${produto.preco}" />
</div>
</div>
<erro:validationMessage name="produto.preco" />
<button type="submit" class="btn btn-success" value="Cadastrar"
class="btn">Cadastrar</button>
</form>
<%@ include file="/WEB-INF/jsp/footer.jsp"%>
package br.unemat.digera.modelos;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.hibernate.validator.constraints.NotEmpty;
@Entity
public class Produto {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@NotEmpty
private String nome;
@NotEmpty
private String descricao;
@NotEmpty
private String preco;
public Produto() {}
public Produto(int id, String nome, String descricao, String preco) {
this.id = id;
this.nome = nome;
this.descricao = descricao;
this.preco = preco;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getPreco() {
return preco;
}
public void setPreco(String preco) {
this.preco = preco;
}
}
Segue o erro que aparece na página:
java.sql.SQLException: Data truncated for column 'preco' at row 1
P.S: verifiquei no MySQL e a tabela foi criada, porem, vazia.