2017-02-23 26 views
0

私は春mvcで行っているwebappに関してこのエラーが発生しています java.lang.NumberFormatExceptionで、intgerではなく文字列です これは私のモデル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

関連する問題