JPA getResultList - 如何从响应中获取价值?
JPA getResultList - How to get value from the response?
我正在尝试从数据库中获取管理员的用户名和密码,但无法获取列表的值。
这是从管理员 table:
获取所有内容的代码
EntityManagerFactory emf=Persistence.createEntityManagerFactory("My-database");
EntityManager em=emf.createEntityManager();
em.getTransaction().begin();
List<Admin> list=em.createQuery("SELECT a FROM Admin a").getResultList();
em.getTransaction().commit();
这是我的 SQL-table 的样子:
MySQL-table
我也有这种 class 管理员
package data;
import java.io.Serializable;
import javax.persistence.*;
@Entity
@NamedQuery(name="Admin.findAll", query="SELECT a FROM Admin a")
public class Admin implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private String username;
private String password;
public Admin() {
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
我尝试了很多方法来打印列表,但结果总是 [data.Admin@1c36eb44]。我需要将用户名和密码保存到变量中。
这只是一种方式:
List<Admin> list = em.createQuery("SELECT a FROM Admin a", Admin.class).getResultList();
for (Admin admin : list) {
String username = admin.getUsername();
String password = admin.getPassword();
System.out.println(username + ", " + password);
}
我正在尝试从数据库中获取管理员的用户名和密码,但无法获取列表的值。 这是从管理员 table:
获取所有内容的代码 EntityManagerFactory emf=Persistence.createEntityManagerFactory("My-database");
EntityManager em=emf.createEntityManager();
em.getTransaction().begin();
List<Admin> list=em.createQuery("SELECT a FROM Admin a").getResultList();
em.getTransaction().commit();
这是我的 SQL-table 的样子: MySQL-table
我也有这种 class 管理员
package data;
import java.io.Serializable;
import javax.persistence.*;
@Entity
@NamedQuery(name="Admin.findAll", query="SELECT a FROM Admin a")
public class Admin implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private String username;
private String password;
public Admin() {
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
我尝试了很多方法来打印列表,但结果总是 [data.Admin@1c36eb44]。我需要将用户名和密码保存到变量中。
这只是一种方式:
List<Admin> list = em.createQuery("SELECT a FROM Admin a", Admin.class).getResultList();
for (Admin admin : list) {
String username = admin.getUsername();
String password = admin.getPassword();
System.out.println(username + ", " + password);
}