2016-04-10 16 views
0

Mysql workbench'in sorgu düzenleyicisinde çalıştırırsam birden çok satır döndüren bir mysql sorgusu var. Şimdi sonuçları sorgudan bir listeye taşımak, listeyi modele eklemek ve sonucu görünümde göstermek istiyorum. Ama bir hata alıyorum. Neyi yanlış yapıyorum ve bu nasıl düzeltilebilir? denetleyicisindenjavax.el.PropertyNotFoundException: Özellik, bir Spring-Hibernate-MySQL uygulamasında java.lang.String türünde bulunamadı

Kod pasajı: jsp görünümü dosyasına değerlerini almak için çalışılıyor

@Transactional 
     @RequestMapping(value = "/question-editor", method = RequestMethod.GET) 
     public ModelAndView viewQuestionsToEdit(@RequestParam("username")String user, ModelAndView model, Principal principal){ 

       model.setViewName("question-editor"); 

       int id2 = 0; 
       try 
       { 
         if(user != null) 
           id2 = Integer.parseInt(user); 
       } 
       catch (NumberFormatException e) 
       { 
         id2 = 0; 
       } 

       Question question = em.find(com.databaseproject.questor.model.Question.class, id2); 
       model.addObject("question", question); 

       List<Question> questions = (List<Question>)em.createNativeQuery("SELECT q.questionText FROM question q WHERE idQuestion IN (SELECT qchq.Question_idQuestion FROM questioncart_has_question qchq JOIN (SELECT qc.idQuestionCart FROM questioncart qc WHERE User_username =:id2 ORDER BY idQuestionCart DESC LIMIT 1) qc ON qchq.QuestionCart_idQuestionCart = qc.idQuestionCart);") 
           .setParameter("id2", user).getResultList(); 

       model.addObject("questionstoedit", questions); 

       String name = principal.getName(); //get logged in username 
       model.addObject("username", name); 

       return model; 
     } 

:

<c:forEach var="question" items="${questionstoedit}"> 
    <p>Question no. ${question.questionText}</p> 
</c:forEach> 

alıyorum hatadır:

javax. el.PropertyNotFoundException: Özellik 'questionText' bulunamadı java.lang.String İşte

modeli sınıftır: Question.java: String Listesine

package com.databaseproject.questor.model; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.Transient; 

@Entity 
public class Question { 

    @Id 
    private int idQuestion; 
    private String questionText; 
    private String solutionText; 
    private byte[] image; 
    private String filepath; 
    private int year; 
    private String User_username; 
    private int Teacher_idTeacher; 
    private String Course_coursecode; 

    @Transient 
    private String encodedImage; 

    public int getIdQuestion() { 
     return idQuestion; 
    } 

    public void setIdQuestion(int idQuestion) { 
     this.idQuestion = idQuestion; 
    } 

    public String getQuestionText() { 
     return questionText; 
    } 

    public void setQuestionText(String questionText) { 
     this.questionText = questionText; 
    } 

    public String getSolutionText() { 
     return solutionText; 
    } 

    public void setSolutionText(String solutionText) { 
     this.solutionText = solutionText; 
    } 

    public byte[] getImage() { 
     return image; 
    } 

    public void setImage(byte[] image) { 
     this.image = image; 
    } 

    public String getFilepath() { 
     return filepath; 
    } 

    public void setFilepath(String filepath) { 
     this.filepath = filepath; 
    } 

    public int getYear() { 
     return year; 
    } 

    public void setYear(int year) { 
     this.year = year; 
    } 

    public String getUser_username() { 
     return User_username; 
    } 

    public void setUser_username(String user_username) { 
     User_username = user_username; 
    } 

    public int getTeacher_idTeacher() { 
     return Teacher_idTeacher; 
    } 

    public void setTeacher_idTeacher(int teacher_idTeacher) { 
     Teacher_idTeacher = teacher_idTeacher; 
    } 

    public String getCourse_coursecode() { 
     return Course_coursecode; 
    } 

    public void setCourse_coursecode(String course_coursecode) { 
     Course_coursecode = course_coursecode; 
    } 

    public String getEncodedImage() { 
     return encodedImage; 
    } 

    public void setEncodedImage(String encodedImage) { 
     this.encodedImage = encodedImage; 
    } 
} 
+0

Eğer sınıfını soru paylaşabilirsiniz:

JSP bu değişikliği uygulansın mı? –

+0

question.java model sınıfını paylaştı. @RafikBELDI –

cevap

0

Değişim döndürme türü:

List<String> questions = (List<String>)em.createNativeQuery("..."); 

Sen dizeleri bir List seçiyoruz, bir olmadan belirli bir Mapper, soru sınıfına eşlenemez.

<c:forEach var="question" items="${questionstoedit}"> 
    <p>Question no. ${question}</p> 
</c:forEach> 
+0

Teşekkür ederim. İşe yaradı. –

İlgili konular