Persistence - EntityManager e EntityManagerFactory = null

Oi pessoal!!
Ainda estou toda perdida nesse negocio de EntityManager e EntityManagerFactory. :cry:
Alguem pode me ajudar???
Eles estão retornando null

Estou utilizando o Netbeans 5.5 + Sun Java System Application Server 9 + Toplinik Essencial (que vem nele mesmo) + BD Postgres

Segundo os artigos que li usando isso eu poderia fazer criar o EntityManager usando anotação só que não esta dando certo!!! :cry: Eles sempre retornam Null

Ja fiz assim:

 @PersistenceUnit(unitName="WebApplication1PU")
  private EntityManagerFactory emf;

 public TesteDAO() {
        public boolean inserir(Teste vo ) throws PersistenceException {
        try {
            EntityManager manager = emf.createEntityManager(); 
            EntityTransaction tx = manager.getTransaction();
            .....

assim:

[code]@PersistenceContext
EntityManager manager;

 public TesteDAO() {
   public boolean inserir(Teste vo ) throws PersistenceException {
    try {
        EntityTransaction tx = manager.getTransaction();
        .....[/code]

E assim (colocando o UnitName):

[code]@PersistenceContext(unitName=“WebApplication1PU”)
EntityManager manager;

 public TesteDAO() {
     public boolean inserir(Estrutura vo ) throws PersistenceException {
    try {
        EntityTransaction tx = manager.getTransaction();
       .....[/code]

[color=darkred]Todos dão que o Manager esta igual a Nulo[/color]

Tb testei esses 3 modos com o Persistence.xml assim:

<persistence-unit name="WebApplication1PU"> <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider> <class>vo.Teste</class> <properties> <property name="toplink.jdbc.url" value="jdbc:postgresql://lalala.lalal.lala.br:5432/bdg"/> <property name="toplink.jdbc.user" value="usuario"/> <property name="toplink.jdbc.driver" value="org.postgresql.Driver"/> <property name="toplink.jdbc.password" value="senha"/> </properties> </persistence-unit> </persistence>

e assim com JTA:

<persistence-unit name="WebApplication1PU" transaction-type="JTA"> <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider> <jta-data-source>Conexao</jta-data-source> <properties> <property name="toplink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>

E não muda nada continua dando null.
Alguem pode me ajudar???

EntityManagerFactory emf = Persistence.createEntityManagerFactory(“manager”);

EntityManager em = emf.createEntityManager();

você so pode usar esses tipos de anotacao se vc tiver usando um as como o jboss pois ela fica responsavel por fazer a injeçao de dependencia

Eu estava fazendo exatemente isso e colocando o Factory em um Singleton e estava funcionando mas me disseram que não era o melhor jeito de se fazer isso.

Que era para usar o JEE5 e as anotações, para usar a injeção de dependencia. E que isso poderia resolver uns problemas que estou tendo.

Você está tentando injetar o EntityManager em um Session Bean?

Só funciona em SessionBeans e Servlets 2.5… senão, não funciona! Se você quiser usá-los fora dessas classes, terá que fazer do outro jeito mesmo, criando na mão.

[]s

É isso mesmo!!!
Se eu colocar um servlet ele funciona!!!

Desculpa minha ignorancia, mas pq???

Obrigada!!!