2017-02-23 1 views
0

봄 mvc에서 수행중인 webapp와 관련하여이 오류가 발생했습니다 java.lang.NumberFormatException 및 intger가 아니지만 문자열입니다 This 내 모델Jsp java.lang.NumberFormatException : 입력 문자열 : "atividade"

@Entity 
@Table(name = "atividades", schema = "spring") 
public class Atividades implements Serializable { 
    private static final long serialVersionUID = 1L; 
    private int idAtividades; 
    private int idUtilizador; 
    private Integer idCargo; 
    private String atividade; 
    private String local; 
    private String descricao; 
    private String objetivos; 
    private String periodo; 
    private String previsaoMes; 
    private Date dataPrevista; 
    private Time hora; 
    private String orcamento; 
    private String destinatarios; 
    private String observacoes; 
    private int idAno; 
    private Timestamp registado; 
    private byte plano; 
    private String realizado; 
    private String motivo; 
    private String file; 
    private AppUser appUserByIdUtilizador; 
    private Cargos cargosByIdCargo; 
    private AnoEscolar anoEscolarByIdAno; 
    private Collection<AvaliacaoAtividades> avaliacaoAtividadesByIdAtividades; 

    public Atividades() { 
    } 

    @Id 
    @Column(name = "id_atividades") 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    public int getIdAtividades() { 
     return idAtividades; 
    } 

    public void setIdAtividades(int idAtividades) { 
     this.idAtividades = idAtividades; 
    } 

    @Basic 
    @Column(name = "id_utilizador") 
    public int getIdUtilizador() { 
     return idUtilizador; 
    } 

    public void setIdUtilizador(int idUtilizador) { 
     this.idUtilizador = idUtilizador; 
    } 

    @Basic 
    @Column(name = "id_cargo") 
    public Integer getIdCargo() { 
     return idCargo; 
    } 

    public void setIdCargo(Integer idCargo) { 
     this.idCargo = idCargo; 
    } 

    @Basic 
    @Column(name = "atividade") 
    public String getAtividade() { 
     return atividade; 
    } 

    public void setAtividade(String atividade) { 
     this.atividade = atividade; 
    } 

    @Basic 
    @Column(name = "local") 
    public String getLocal() { 
     return local; 
    } 

    public void setLocal(String local) { 
     this.local = local; 
    } 

    @Basic 
    @Column(name = "descricao") 
    public String getDescricao() { 
     return descricao; 
    } 

    public void setDescricao(String descricao) { 
     this.descricao = descricao; 
    } 

    @Basic 
    @Column(name = "objetivos") 
    public String getObjetivos() { 
     return objetivos; 
    } 

    public void setObjetivos(String objetivos) { 
     this.objetivos = objetivos; 
    } 

    @Basic 
    @Column(name = "periodo") 
    public String getPeriodo() { 
     return periodo; 
    } 

    public void setPeriodo(String periodo) { 
     this.periodo = periodo; 
    } 

    @Basic 
    @Column(name = "previsao_mes") 
    public String getPrevisaoMes() { 
     return previsaoMes; 
    } 

    public void setPrevisaoMes(String previsaoMes) { 
     this.previsaoMes = previsaoMes; 
    } 

    @Basic 
    @Column(name = "data_prevista") 
    public Date getDataPrevista() { 
     return dataPrevista; 
    } 

    public void setDataPrevista(Date dataPrevista) { 
     this.dataPrevista = dataPrevista; 
    } 

    @Basic 
    @Column(name = "hora") 
    public Time getHora() { 
     return hora; 
    } 

    public void setHora(Time hora) { 
     this.hora = hora; 
    } 

    @Basic 
    @Column(name = "orcamento") 
    public String getOrcamento() { 
     return orcamento; 
    } 

    public void setOrcamento(String orcamento) { 
     this.orcamento = orcamento; 
    } 

    @Basic 
    @Column(name = "destinatarios") 
    public String getDestinatarios() { 
     return destinatarios; 
    } 

    public void setDestinatarios(String destinatarios) { 
     this.destinatarios = destinatarios; 
    } 

    @Basic 
    @Column(name = "observacoes") 
    public String getObservacoes() { 
     return observacoes; 
    } 

    public void setObservacoes(String observacoes) { 
     this.observacoes = observacoes; 
    } 

    @Basic 
    @Column(name = "id_ano") 
    public int getIdAno() { 
     return idAno; 
    } 

    public void setIdAno(int idAno) { 
     this.idAno = idAno; 
    } 

    @Basic 
    @Column(name = "registado") 
    public Timestamp getRegistado() { 
     return registado; 
    } 

    public void setRegistado(Timestamp registado) { 
     this.registado = registado; 
    } 

    @Basic 
    @Column(name = "plano") 
    public byte getPlano() { 
     return plano; 
    } 

    public void setPlano(byte plano) { 
     this.plano = plano; 
    } 

    @Basic 
    @Column(name = "realizado") 
    public String getRealizado() { 
     return realizado; 
    } 

    public void setRealizado(String realizado) { 
     this.realizado = realizado; 
    } 

    @Basic 
    @Column(name = "motivo") 
    public String getMotivo() { 
     return motivo; 
    } 

    public void setMotivo(String motivo) { 
     this.motivo = motivo; 
    } 

    @Basic 
    @Column(name = "file") 
    public String getFile() { 
     return file; 
    } 

    public void setFile(String file) { 
     this.file = file; 
    } 

    @ManyToOne 
    @JoinColumn(name = "id_utilizador", referencedColumnName = "id", insertable = false, updatable = false, nullable = false) 
    public AppUser getAppUserByIdUtilizador() { 
     return appUserByIdUtilizador; 
    } 

    public void setAppUserByIdUtilizador(AppUser appUserByIdUtilizador) { 
     this.appUserByIdUtilizador = appUserByIdUtilizador; 
    } 

    @ManyToOne 
    @JoinColumn(name = "id_cargo", referencedColumnName = "id_cargo", insertable = false, updatable = false) 
    public Cargos getCargosByIdCargo() { 
     return cargosByIdCargo; 
    } 

    public void setCargosByIdCargo(Cargos cargosByIdCargo) { 
     this.cargosByIdCargo = cargosByIdCargo; 
    } 

    @ManyToOne 
    @JoinColumn(name = "id_ano", referencedColumnName = "id_ano", insertable = false, updatable = false, nullable = false) 
    public AnoEscolar getAnoEscolarByIdAno() { 
     return anoEscolarByIdAno; 
    } 

    public void setAnoEscolarByIdAno(AnoEscolar anoEscolarByIdAno) { 
     this.anoEscolarByIdAno = anoEscolarByIdAno; 
    } 

    @OneToMany(mappedBy = "atividadesByIdAtividades") 
    public Collection<AvaliacaoAtividades> getAvaliacaoAtividadesByIdAtividades() { 
     return avaliacaoAtividadesByIdAtividades; 
    } 

    public void setAvaliacaoAtividadesByIdAtividades(Collection<AvaliacaoAtividades> avaliacaoAtividadesByIdAtividades) { 
     this.avaliacaoAtividadesByIdAtividades = avaliacaoAtividadesByIdAtividades; 
    } 

    @Override 
    public String toString() { 
     return "Atividades{" + 
       "idAtividades=" + idAtividades + 
       ", idUtilizador=" + idUtilizador + 
       ", idCargo=" + idCargo + 
       ", atividade='" + atividade + '\'' + 
       ", local='" + local + '\'' + 
       ", descricao='" + descricao + '\'' + 
       ", objetivos='" + objetivos + '\'' + 
       ", periodo='" + periodo + '\'' + 
       ", previsaoMes='" + previsaoMes + '\'' + 
       ", dataPrevista=" + dataPrevista + 
       ", hora=" + hora + 
       ", orcamento='" + orcamento + '\'' + 
       ", destinatarios='" + destinatarios + '\'' + 
       ", observacoes='" + observacoes + '\'' + 
       ", idAno=" + idAno + 
       ", registado=" + registado + 
       ", plano=" + plano + 
       ", realizado='" + realizado + '\'' + 
       ", motivo='" + motivo + '\'' + 
       ", file='" + file + '\'' + 
       ", appUserByIdUtilizador=" + appUserByIdUtilizador + 
       ", cargosByIdCargo=" + cargosByIdCargo + 
       ", anoEscolarByIdAno=" + anoEscolarByIdAno + 
       ", avaliacaoAtividadesByIdAtividades=" + avaliacaoAtividadesByIdAtividades + 
       '}'; 
    } 
} 

그리고 내 다오

public interface AtividadesDao { 

    void save(Atividades a); 

    void edit(Atividades a,int id); 

    void deleteById(int id); 

    List <Atividades> listAllAtividades(); 

} 

내 DaoImpl입니다

@Override 
public List<Atividades> listAllAtividades() { 
    session.openSession(); 
    return session.getCurrentSession().createSQLQuery("SELECT ATIVIDADE, LOCAL, DATA_PREVISTA, TIME_FORMAT(HORA, '%H:%i') AS HORA FROM ATIVIDADES WHERE DATA_PREVISTA BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)").list(); 
} 

내 컨트롤러

@RequestMapping(value = { "/"}, method = RequestMethod.GET) 
public String homePage(ModelMap model) { 
    //Lista as atividades da semana 
    List<Atividades> atividades = as.listAllAtividades(); 
    model.addAttribute("atividades", atividades); 
    System.out.println(atividades); 
    //noinspection SpringMVCViewInspection 
    return "index"; 
} 

내 JSP

<c:forEach items="${atividades}" var="ati"> 
            <tr> 
             <td>${ati.atividade}</td> 
             <td>${ati.local}</td> 
             <td>${ati.dataPrevista}</td> 
             <td>${ati.hora}</td> 
             <td>${ati.destinatarios}</td> 
            </tr> 
           </c:forEach> 

오류

 org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/index.jsp at line 48 

      45: <tbody> 
      46: <c:forEach items="${atividades}" var="ati"> 
      47:  <tr> 
      48:  <td>${ati.atividade}</td> 
      49:  <td>${ati.local}</td> 
      50:  <td>${ati.dataPrevista}</td> 
      51:  <td>${ati.hora}</td> 

라인

java.lang.NumberFormatException: For input string: "atividade" 

이 문제를 해결 어떤 도움? 내가이 응답을 가지고 uotput 내 서버에서 업데이트 된 쿼리와

UPDATE

Hibernate: 
SELECT 
    * 
FROM 
    ATIVIDADES 
WHERE 
    DATA_PREVISTA BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) 

[[Ljava.lang.Object, 2a6e2a42]

그래서 @ 나는 물건을 얻고있는 것을 볼 수있다.

+0

과 업데이트 후 개체 쿼리에 대해 읽을 수 있습니다

@Override public List<Atividades> listAllAtividades() { session.openSession(); return session.getCurrentSession() .createSQLQuery("SELECT * FROM ATIVIDADES WHERE DATA_PREVISTA BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)") .addEntity(Atividades.class) .list(); } 

. 같은 오류가 발생하고 있습니까? –

+0

네, 그렇습니다, 동일 – gmc1972

+0

mhm, 목록의 내용에 문제가 있어야합니다. 그것이 내가 생각할 수있는 전부입니다. –

답변

1

createSQLQuery.list()은 항상 여러 개의 열이 지정된 경우 List<Object[]>을 반환합니다. 그러나 방법 아래 사용하여 List<Atividades>를 얻을 수 있습니다 : 당신은 here

+0

도움을 주셔서 대단히 감사합니다. – gmc1972

0

이 줄은 List<Atividades> atividades = as.listAllAtividades(); 일 수 있습니다. SQL 쿼리에서 개별 필드를 선택하면 List<Entity_You_Wanted> 대신 List<Object[]>이됩니다. 비록 당신은 List<Atividades>으로 이상하게 보입니다. 어쨌든, 쿼리 대신 전체 엔티티를 가져 오십시오. HQL 일 경우 SELECT * FROM 또는 SELECT FROM Atividade WHERE..과 같은 것입니다. 그것이 효과가 있다면 지금 나에게 알려줘.

면책 조항 : List<Atividades>을 반환 할 수 있다는 사실이 저에게 다소 이상하기 때문에 틀릴 수도 있습니다.

+0

업데이트 확인 – gmc1972

관련 문제