Java 如何在hibernate中从同一个表的结果中提取表中的数据
我正在使用Hibernate和SpringREST,并从表中获取数据。我的表中有两列用户名和职业。我创建了一个方法,在这个方法中,我传递了一个用户名,并获得了一个与用户名相对应的职业。现在,我想按我获得的职业进行搜索,并希望获得所有拥有该职业的用户名 我使用用户名获取了专业,但我无法获取具有该专业的用户名,因此请建议我这样做的方法 这是我的实体类Profession.javaJava 如何在hibernate中从同一个表的结果中提取表中的数据,java,mysql,hibernate,rest,spring-mvc,Java,Mysql,Hibernate,Rest,Spring Mvc,我正在使用Hibernate和SpringREST,并从表中获取数据。我的表中有两列用户名和职业。我创建了一个方法,在这个方法中,我传递了一个用户名,并获得了一个与用户名相对应的职业。现在,我想按我获得的职业进行搜索,并希望获得所有拥有该职业的用户名 我使用用户名获取了专业,但我无法获取具有该专业的用户名,因此请建议我这样做的方法 这是我的实体类Profession.java @Entity @Table(name="user_profession") @JsonIgnoreProperties
@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;
}
}
这是我的道课
@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();
@SuppressWarnings(“未选中”)
公共列表getProfessionById(字符串uname)引发异常{
session=sessionFactory.openSession();
session.beginTransaction();
字符串queryString=“from Profession,其中username=:uname”;
Query=session.createQuery(queryString);
query.setString(“uname”,uname);
//List queryResult=(List)query.uniqueResult();
session.getTransaction().commit();
返回query.list();
}
请帮帮我。Thanx提前您已添加此代码
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());
}
List professionList=query.List();
for(专业:专业列表){
System.out.println(“获取所需内容”+profession.getUsername());
}
您已添加此代码
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());
}
List professionList=query.List();
for(专业:专业列表){
System.out.println(“获取所需内容”+profession.getUsername());
}
数据库表的确切名称是什么?职业还是用户职业?用户职业..职业是Entity类名称,它有id、用户名和职业列您是否遇到异常?或者简单数据未提取?@nad您面临什么异常?您的db表的确切名称是什么?职业还是用户职业?用户职业..职业是Entity类名称,它有id、用户名和职业列您是否遇到异常?或者没有获取简单数据?@nad您面临什么异常?实际上,我正在获取一个用户的专业,但现在我想使用该专业获取另一个具有该专业的结果我没有获得任何异常bt我不知道如何获取该专业的结果您必须使用for
或迭代器
循环检查更新的答案我不能,因为我没有15个声誉。请+1我的问题事实上我得到了一个用户的专业,但现在我想用这个专业来获取另一个有这个专业的结果我没有得到任何例外bt我不知道我如何才能得到这个专业的结果你必须使用for
或迭代器
循环检查更新答案我不能,因为我没有有15个声誉。请回答我的问题