Olá, tenho um formulario salvando dados, atraves de um autocomplete. Mas ao salvar um dado no banco de dados(MySQL) ele salva da seguinte forma:
Digito por exemplo: teste.
no banco salva: “br.es.saocamilo.entidade.Aluno@33171712”
Gostaria de saber o que estou fazendo de errado.
Bean
[code]package managedbean;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import br.es.saocamilo.entidade.Mensalidade;
import br.es.saocamilo.persistencia.MensalidadeDao;
@ManagedBean(name=“MensalidadeMB”)
@RequestScoped
public class MensalidadeMB {
private Mensalidade mensalidade = new Mensalidade();
public Mensalidade getMensalidade() {
return mensalidade;
}
public void setMensalidade(Mensalidade mensalidade) {
this.mensalidade = mensalidade;
}
public String salvar() {
new MensalidadeDao().salvarOuAlterar(mensalidade);
return "ListaMensadalidades.xhtml";
}
public String alterar() {
new MensalidadeDao().salvarOuAlterar(mensalidade);
return "";
}
public String deletar(Mensalidade m) {
new MensalidadeDao().deletar(m);
return "";
}
public List consulta() {
return new MensalidadeDao().consultar();
}
public String ver() {
new MensalidadeDao().salvarOuAlterar(mensalidade);
return "CadastroMensalidades.xhtml";
}
public String formataData(Date dt){
return new SimpleDateFormat("dd/MM/yyyy").format(dt);
}
}
[/code]
Converter
[code]public class AlunoConverter implements Converter {
static List<Aluno> listP = null;
public List<Aluno> getListP(String nome) {
listP = new AlunoDao().consultar(nome);
return listP;
}
@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String submittedValue) {
if (submittedValue.trim().equals("")) {
return null;
} else {
try {
int number = Integer.parseInt(submittedValue);
for (Aluno a : listP) {
if (a.getIdAluno().equals(number)) {
return a;
}
}
} catch (NumberFormatException exception) {
exception.printStackTrace();
throw new ConverterException(new FacesMessage(
FacesMessage.SEVERITY_ERROR, "Conversion Error",
"Not a valid player"));
}
}
return null;
}
@Override
public String getAsString(FacesContext facesContext, UIComponent component, Object value) {
if (value == null || value.equals("")) {
return "";
} else {
return String.valueOf(((Aluno) value).getIdAluno());
} }
}
[/code]
Formulario de Cadastro:
<table width="500" border="0">
<tr>
<td>Codigo:</td>
<td>
<h:inputHidden value="#{MensalidadeMB.mensalidade.idMensalidade}"/>
<p:inputText style="background-color: #bdbbbb; width:30px; font-weight: bold;"
value = "#{MensalidadeMB.mensalidade.idMensalidade}" readonly="true" /> <br/></td>
</tr>
<tr>
<td><h:outputLabel value="Aluno :" for="dd" /> </td>
<td><p:autoComplete minQueryLength="2" value="#{MensalidadeMB.mensalidade.aluno}"
completeMethod="#{AlunoMB.consultaComComplete}" var="p" itemLabel="#{p.nome}"
itemValue="#{p}" converter="#{AlunoMB.converter()}"/></td>
</tr>
<tr>
<td>Valor da Mensalidade: </td>
<td><p:inputText style="width: 50px" value = "#{MensalidadeMB.mensalidade.valor}"/> <br/></td>
</tr>
<tr>
<td>Data Vencimento: </td>
<td><p:calendar value = "#{MensalidadeMB.mensalidade.vencimento}"/> <br/></td>
</tr>
<tr>
<td>Data Pagamento: </td>
<td><p:calendar
value = "#{MensalidadeMB.mensalidade.dataPagamento}"/> <br/></td>
</tr>
<tr>
<td>Status da Fatura: </td>
<td><p:selectOneMenu value = "#{MensalidadeMB.mensalidade.status}">
<f:selectItem itemValue="Aberto" itemLabel="Aberto"/>
<f:selectItem itemValue="Pago" itemLabel="Pago"/>
</p:selectOneMenu></td>
</tr>
<tr>
<td>Desconto: </td>
<td><p:inputText style="width: 50px" value = "#{MensalidadeMB.mensalidade.desconto}"/> <br/></td>
</tr>
<tr>
<td>Valor Total: </td>
<td><p:inputText style="width: 50px" value = "#{MensalidadeMB.mensalidade.total}"/> <br/></td>
</tr>
<tr>
<td><p:commandButton value= "Salvar" actionListener="#{MensalidadeMB.salvar}" ajax="false" action="ListaMensalidade.xhtml"/> </td>
<td><p:commandButton value="Cancelar" actionListener="ListaMensalidade.xhtml" ajax="false" /> </td>
</tr>
</table>
Desde já, Agradeço a todos…