在Collection中插入表元素

时间:2011-01-04 17:38:25

标签: mysql java-ee ejb

HI,

我有一个集合,我想插入我桌子的所有元素。

我如何在EJB QL中执行此操作?

例如:(这不是我的代码) 我有我的收藏:

Collection<Person> coll = new Collectio<Person>

我有我的桌子人员

@entity
private class Person{

private id;
private name;

//getters setter
}

我已经把桌子打包了,我想要收集我的所有元素。

感谢。

1 个答案:

答案 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    

  }
}
是的,为什么你的班级是私人的?它必须是公开的。