2013-06-14 2 views
0

Я пытаюсь вставить данные в таблице заказ, имеющая следующие поля: идентификатор PK, чида FK, Pid FK,Ошибки при вставке данных в компоненте

Я пытаюсь вставить данные в этом порядке бобе.

Вот мой JSP код:

<form:form> 
    <form:hidden path="id"/> 
    <table cellpadding="2px"> 
    <tr><td><label>Customer ID</label></td><td><form:input path="cid"/><form:errors path="cid" /></td></tr> 
    <tr><td><label>Package ID</label></td><td><form:input path="pid"/><form:errors  path="pid" /></td></tr>  
    <tr align="center"><td colspan="2"><input type="submit" value="Save Changes"  /></td></tr> 
    </table> 
</form:form> 

и вот контроллер Код:

@RequestMapping(value="/editorder", method=RequestMethod.GET) 
     public String EditPerson(Model model){ 
      model.addAttribute("command", new Order());  
      return "/WEB-INF/pages/orders/editorder.jsp"; 
     } 

Я получаю ошибки: (я упомянул только первопричину здесь)

основная причина org.springframework.beans.NotReadablePropertyException: Недопустимое свойство 'cid' класса bean [com.order.domain.Order]: свойство bean bean 'cid' не читается или имеет недопустимый метод getter: имеет ли тип возвращаемого значения getter тип параметра сеттера?

Любое решение пожалуйста?

Here is Order bean: 
package com.order.domain; 

import java.util.List; 

import javax.persistence.Entity; 
import javax.persistence.JoinColumn; 
import javax.persistence.ManyToOne; 
import javax.persistence.OneToMany; 
import javax.persistence.Table; 

@Entity 
@Table(name="orders") 
public class Order extends BaseEntity{ 

    @ManyToOne 
    @JoinColumn(name="cid") 
    private Customer customer; 

    @ManyToOne 
    @JoinColumn(name="pid") 
    private Packagee package1; 

    @OneToMany(mappedBy="order") 
    private List<Feedback> feedbacks; 

    public Customer getCustomer() { 
     return customer; 
    } 

    public void setCustomer(Customer customer) { 
     this.customer = customer; 
    } 

    public Packagee getPackage1() { 
     return package1; 
    } 

    public void setPackage1(Packagee package1) { 
     this.package1 = package1; 
    } 

    public List<Feedback> getFeedbacks() { 
     return feedbacks; 
    } 

    public void setFeedbacks(List<Feedback> feedbacks) { 
     this.feedbacks = feedbacks; 
    } 
    } 
+0

Вы внимательно прочитали сообщение об ошибке? Что вы не понимаете в нем? Учитывая, что речь идет о геттерах и сеттерах класса com.order.domain.Order, не считаете ли вы, что код этого класса может иметь значение? –

+0

Я проверил его внимательно, но не нашел ошибки. –

ответ

0

сообщение об ошибке говорит:

Invalid property 'cid' of bean class [com.order.domain.Order]: Bean property 'cid' is not readable or has an invalid getter method

Итак, весна ищет геттер для свойства cid в классе com.order.domain.Order:

public Long getCid() { 
    ... 
} 

И нет таких геттер в твой класс.

+0

Я добавил геттер в свой bean-компонент следующим образом: \t public int getCid() { \t \t return customer.getId(); \t} , но он снова дает ошибку, которая гласит: HTTP Status 500 - org.springframework.beans.InvalidPropertyException: Недопустимое свойство 'cid' класса bean [com.order.domain.Order]: Getter для свойства 'cid' выбрал исключение ; inested exception is java.lang.reflect.InvocationTargetException –

+0

Затем убедитесь, что ваш геттер не генерирует исключение. –

Смежные вопросы