我正在尝试使用DataAccessUtil和Hibernate Session从数据库中获取数据。对我的getall函数的响应导致只有一个对象值在相同数量的元素中。 这段代码可以帮助我进一步指出。
getAll功能:
public static <T> List<T> getAll(Class<T> persistentClass) {
Session session = HibernateUtil.openSession();
session.beginTransaction();
@SuppressWarnings("unchecked")
List<T> list = session.createQuery( "from " + persistentClass.getName() ).list();
session.getTransaction().commit();
session.close();
return list;
}
这是我的demo.java
的调用List <Requirment> list=DataAccessUtil.getAll(Requirment.class);
for (Requirment r:list)
{
System.out.println(r.getPid());
System.out.println(r.getRid());
System.out.println(r.getRname());
System.out.println(r.getDesp());
}
答案 0 :(得分:0)
您的Requirment课程是什么样的?确保它实现Serializable。
public class Requirment implements Serializable
您对象上的唯一标识符是什么?它是pid吗?确保数据库表和Requirment类中有唯一的列标识符。 假设pid是一个标识列:
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "pid", unique = true, nullable = false)
public Integer getPid() {
return this.pid;
}