2016-06-24 15 views
0

Der Datentyp für die Spalte TICKET_ID ist int im DB. Trotzdem besteht das Problem weiterhin. Setze die Getter/Setter auch öffentlich.Javax.el.PropertyNotFoundException: Die Eigenschaft 'ticket_id' wurde beim Typ java.lang.Integer nicht gefunden

Modell

@Id 
@Column(name = "TICKET_ID") 
private Integer ticket_id; 



public Integer getTicket_id() { 
    return ticket_id; 
} 

public void setTicket_id(Integer ticket_id) { 
    this.ticket_id = ticket_id; 
} 


@Column(name = "PRIORITY") 
private String priority; 

HQL

Session session = sessionFactory.openSession(); 

    String hql = "Select ticket_id from Ticket"; 

    @SuppressWarnings("unchecked") 
    List<Ticket> ticketList = session.createQuery(hql) 
      .list(); 
    session.close(); 
    return ticketList; 

JSP

<th>Category</th> 
        </tr> 
        <c:forEach items="${ticketList}" var="usr"> 
         <tr> 
          <td><c:out value="${usr.ticket_id}" /></td> 
          <td>Priority</td> 

Exception

javax.el.PropertyNotFoundException: Anwesen 'ticket_id' nicht auf Typ java.lang.Integer

Antwort

2

Ihre Anfrage

gefunden wird
select ticket_id from Ticket 

Diese Abfrage gibt eine List<Integer> enthält alle Ticket-IDs aus der Ticket-Tabelle, keine List<Ticket>. Wenn Sie eine Liste von Tickets wollen, sollte die Abfrage

select t from Ticket t 

sind Sie sollten auch die Java Namenskonventionen recpect streben: ticketId, nicht ticket_id.

+0

Ich denke, Sie haben gerade auf den wahren Fehler hingewiesen, den ich gemacht habe. Eigentlich sollte die Abfrage eine komplexe Abfrage mit Daten aus zwei Tabellen sein, aber es gab mir immer einen Fehler, dh, weil ich einen anderen Datensatz in die Liste abgerufen habe ... also hier habe ich versucht, zu a aufzuspalten einfache Abfrage und sehen, wo das Problem war. Danke! Danke für den Vorschlag. Das werde ich mir merken. – Rishi

Verwandte Themen