HI,
我有一个集合,我想插入我桌子的所有元素。
我如何在EJB QL中执行此操作?
例如:(这不是我的代码) 我有我的收藏:
Collection<Person> coll = new Collectio<Person>
我有我的桌子人员
@entity
private class Person{
private id;
private name;
//getters setter
}
我已经把桌子打包了,我想要收集我的所有元素。
感谢。
答案 0 :(得分:1)
在JPA实体中引入查询:
@Entity
@NamedQuery(name = "Person.findAll", query = "SELECT p from Person p")
public class Person {
private id;
private name;
//getters setter
}
然后在您的代码中注入EntityManager并使用查询:
public class MyClass {
@PersistenceUnit(name = "MyEntitiesFromPersistenceXML")
private EntityManagerFactory emf;
public void myMethod() {
EntityManager entityManager = emf.createEntityManager();
Query query = entityManager.createNamedQuery("Person.findAll");
@SuppressWarnings("unchecked")
List<Person> persons = query.getResultList();
// query returns List which, in turn, extends Collection
}
}
是的,为什么你的班级是私人的?它必须是公开的。