简体   繁体   中英

how to get the record using hibernate

I am new to hibernate. I want to get the record using criteria . while i am retrieving data i am getting error. i add my files below. please check and give solution. thank you

This is my controller method file name is MainController.java

@RequestMapping(value="/Searching")
protected ModelAndView searching(/*@RequestParam("skills") String skills,@RequestParam("exp") String Exp*/@RequestParam Map<String,String> mp)
{
    ModelAndView model;
    System.out.println("Entering .....");

    sf=new Configuration().configure().buildSessionFactory();
    Session session=sf.getCurrentSession();

    try
    {

        session.beginTransaction();

        Criteria criteria=session.createCriteria(RegisterForm.class);
        criteria.add(Restrictions.like("Skills", mp.get("skills")));
        System.out.println("skills="+mp.get("skills"));  //mp.get("skills")=java_developer
        System.out.println("after criteria");
        @SuppressWarnings("unchecked")
        List<RegisterForm> register=(List<RegisterForm>)criteria.list();    //i am getting error in this line

        System.out.println("after stored to register");
        /*System.out.println("working befor commit");*/

        session.getTransaction().commit();
        session.close();

        for(RegisterForm registers:register)
            System.out.println("Names are =="+registers.getName());
    }
    catch(Exception e)
    {
        System.out.println(e);
    }

    model=new ModelAndView("Search");
    model.addObject("msg", "Welcome to search page");
    return model;
}

Error message is

org.hibernate.QueryException: could not resolve property: Skills of: com.maincontroller.RegisterForm

RegisterForm.java file is

package com.maincontroller;

import java.util.Map;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Registeration_Table")
public class RegisterForm 
{
    @Id @GeneratedValue
    private int rollNo;

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

    @Column(name="Sex")
    private String sex;

    @Column(name="Skills")
    private String skills;

    @Column(name="Experience")
    private int Experience;

    @Column(name="ComPany_Name")
    private String c_Name;

    @Column(name="Salary")
    private double salary;

    @Column(name="Religion")
    private String religion;



public String getName() {
    return name;
}

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

public String getSex() {
    return sex;
}

public void setSex(String sex) {
    this.sex = sex;
}

public String getSkills() {
    return skills;
}

public void setSkills(String skills) {
    this.skills = skills;
}

public int getExperience() {
    return Experience;
}

public void setExperience(int experience) {
    Experience = experience;
}

public String getC_Name() {
    return c_Name;
}

public void setC_Name(String c_Name) {
    this.c_Name = c_Name;
}

public double getSalary() {
    return salary;
}

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

public String getReligion() {
    return religion;
}

public void setReligion(String religion) {
    this.religion = religion;
    }
}

i am new for hibernate. please help me, thanks

Try this:

In your MainController.java modify this line

criteria.add(Restrictions.like("Skills", mp.get("skills")));

to

criteria.add(Restrictions.like("skills", mp.get("skills")));

使用小型大写字母技巧,因为您的字段名称是小型大写字母

criteria.add(Restrictions.like("skills", mp.get("skills")));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM