2011-01-04 10 views
0

HI、コレクションにテーブル要素を挿入する

私はコレクションを持っているので、テーブルのすべての要素を挿入したいと思います。

どのようにこの操作をEJB QLで行うことができますか?例えば

:(これは私のコードではありません) は私が私のコレクションがあります。

Collection<Person> coll = new Collectio<Person> 

を、私は私のテーブルの人

@entity 
private class Person{ 

private id; 
private name; 

//getters setter 
} 

を持って、私はテーブルをpopolate持っていると私はすべてたい私のコレクションの要素。

ありがとうございました。

答えて

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  

    } 
} 

ところで、なぜあなたのクラスがプライベートで?それは公開されている必要があります。

関連する問題