如何从hibernate

时间:2015-08-10 11:19:56

标签: java mysql hibernate rest spring-mvc

我正在使用Hibernate和Spring Rest,我从表中获取数据。我的表用户名和专业中有两列。我创建了一个方法,在其中我传递一个用户名并获得与用户名相对应的职业,现在我想通过专业搜索我得到并希望得到所有具有该职业的用户名。

我使用用户名取得专业但我无法获取具有该专业的用户名,因此请建议我这样做。

这是我的实体类 Profession.java

@Entity
@Table(name="user_profession")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Profession implements Serializable {


private static final long serialVersionUID = 1L;


@Id
@GeneratedValue
@Column(name="id")
private long id;

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

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


//Getters and setters

public long getId() {
    return id;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public void setId(long id) {
    this.id = id;
}

public String getProfession() {
    return profession;
}

public void setProfession(String profession) {
    this.profession = profession;
}

}

这是我的 DAO

@SuppressWarnings("unchecked")
public List<Profession> getProfessionById(String uname) throws Exception {
session = sessionFactory.openSession();
  session.beginTransaction();
  String queryString = "from Profession where username = :uname";
  Query query = session.createQuery(queryString);
  query.setString("uname", uname);
  //List<Profession> queryResult = (List<Profession>) query.uniqueResult();
  session.getTransaction().commit();
  return query.list();

}

请帮帮我。 Thanx提前

1 个答案:

答案 0 :(得分:0)

您已添加此代码

 String queryString = "from Profession where username = :uname";
 Query query = session.createQuery(queryString);
 query.setString("uname", uname);

但缺少

  List<Profession> professionList = query.list();
   for(Profession profession: professionList ){
     System.out.println("Get What you need Like"+profession.getUsername());
    }