2013-02-12 6 views
0

POJO와 메인 클래스 두 클래스가 있고 주석이있는 명명 된 쿼리로 작업하고 있습니다. 최대 절전 모드.Hibernate namedquery 에러 - 파라미터 id가 [from Employeenam e에서 e.name = : name]의 명명 된 파라미터로 존재하지 않습니다.

public class FetchData { 
    public static void main(String[] args) { 

     Configuration configuration = new Configuration(); 
     configuration.configure("hibernate.cfg.xml"); 
     SessionFactory sfactory = configuration.buildSessionFactory(); 
     Session session = sfactory.openSession(); 
     Query query = session.getNamedQuery("findEmployeeName"); 
     query.setString("name", "dfdsf"); 
     Employeenam e = new Employeenam(); 
     List<Employeenam> empList = query.list(); 
     session.close(); 
    } 
} 

나는 사람이 좀 도와 주시겠습니까

Parameter id does not exist as a named parameter in [from Employeenam e where 
e.name=:name] 

으로 다음과 같은 오류가 점점 오전 :

@NamedQueries(
     { 
      @NamedQuery(
        name="findEmployeeName", 
         query="from Employeenam e where e.name=:name" 
        ) 
     } 
) 
@Entity 
@Table(name = "employee") 
public class Employeenam { 

    // public String tostring(){return id+" " +name+ " " +salary+ " " +job;} 

    @Id 
    @GeneratedValue 
    @Column(name = "id") 
    int id; 

    @Column(name = "name") 
    String name; 

    @Column(name = "salary") 
    int salary; 

    @Column(name = "job") 
    String job; 

    public int setId() { 
     return id; 
    } 

    public void getId(int Id) { 
     this.id = Id; 
    } 

    public String setName() { 
     return name; 
    } 

    public void getName(String Name) { 
     this.name = Name; 
    } 

    public int getSalary() { 
     return salary; 
    } 

    public void setSalary(int Salary) { 
     this.salary = Salary; 
    } 

    public String setJob() { 
     return job; 
    } 

    public void getJob(String Job) { 
     this.job = Job; 
    } 

} 

메인 클래스로 다음과 같이

POJO와 클래스입니다 이 .. 어디 내가 다시 잘못 가고있어 ??

+0

실제로 실행중인 코드는'query.setString ("name", "dfdsf") 대신'query.setString ("id", "dfdsf"); . 코드를 다시 컴파일했는지 확인하십시오. –

답변

3
public int setId() 
{ 
    return id; 
} 

public void getId(int Id) { 
    this.id = Id; 
} 

ID에 대한 getter 및 setter 방법을 잘못 코딩했습니다. getId는 setId 대신 int를 반환해야합니다.