我正在使用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提前
答案 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());
}