Jsf nao recebece injection jpa

8 respostas
eerriicc

Pessoal
consegui resolver o problema de injection dentro o managed Bean…

ao inves e usar:
@PersistenceContext(name = “ifdteste”)

eu usei:

EntityManagerFactory emf = Persistence.createEntityManagerFactory(ifdteste);

EntityManager em = emf.createEntityManager();

mas agora o erro é outro …

The chosen transaction strategy requires access to the JTA TransactionManager

ja pesquisei bastante e nao acho nada
alguem me ajuda !!!

valew…

meus arquivos:
persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence>
  <persistence-unit name="ifdteste" transaction-type="JTA">
    <jta-data-source>java:/ifdteste</jta-data-source>
    <class>br.com.eric.model.Teste</class>
    <properties>
      <property name="hibernate.show_sql" value="true"/>                
    </properties>    
  </persistence-unit>
</persistence>

manage bean

public class TesteMBean {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("ifdteste");
    EntityManager em = emf.createEntityManager();
    private List<Teste>     testes;
    private Teste           teste;
}

jboss-ds.xml

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
    <jndi-name>ifdteste</jndi-name>
    <connection-url>jdbc:postgresql://localhost:5432/ifd</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <user-name>postgres</user-name>
    <password>123456</password>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>20</max-pool-size>
    <idle-timeout-minutes>5</idle-timeout-minutes>
  </local-tx-datasource>
</datasources>

faces-config.xml

<managed-bean>
    <managed-bean-name>teste</managed-bean-name>
    <managed-bean-class>br.com.eric.bean.TesteMBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>

8 Respostas

GraveDigger

Cara,

Estou com o mesmo problema.

Voce conseguiu resolver ?

Abraço

eerriicc

resolvi mudando a versao do Hibernate !!!
apaguei as q estavam padrao no meu Jboss
e sobrescrevi com as q o ferramenta tinha colocado na minha pasta lib !!

GraveDigger

Oi, consegui resolver tb, de outra forma

Adicionei isso como property em meu persistence.xml (caso alguem precise) :

<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory" />

[]'s

brlima

opa! essa propriedade aí salvou uma vida aqui :slight_smile:

valeu.

S

Nossa realmente é pessoas proativas assim que passam um pano quando não existe esperança, valeu irmão salvou minha pele tb, rs

thidaudt

Puts me ajudou muito, estava ha um bom tempo atrás disso eheh…
valeu galera
abs[]´s

darkan666

GraveDigger:
Oi, consegui resolver tb, de outra forma

Adicionei isso como property em meu persistence.xml (caso alguem precise) :

<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory" />

[]'s

salvou minha vida, eu tava nesse erro faz mó tempo… só que ainda o “@PersistenceContext(name = “xxxx”)” não está injetando…

e agora parei no erro:

org.hibernate.TransactionException: Could not find UserTransaction in JNDI [java:comp/UserTransaction]
P

[quote=darkan666]

GraveDigger:
Oi, consegui resolver tb, de outra forma

Adicionei isso como property em meu persistence.xml (caso alguem precise) :

<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory" />

[]'s

salvou minha vida, eu tava nesse erro faz mó tempo… só que ainda o “@PersistenceContext(name = “xxxx”)” não está injetando…

e agora parei no erro:

org.hibernate.TransactionException: Could not find UserTransaction in JNDI [java:comp/UserTransaction]

Sei que o topico ja é antigo mas até para ficar registrado pra quem passar pelo mesmo problema . . . resolvi mudando o “transaction-type” de JPA que é o padrão, para RESOURCE_LOCAL

<persistence-unit name="NomeDaPersistenciaPU" transaction-type="RESOURCE_LOCAL">

flw.

Criado 10 de novembro de 2008
Ultima resposta 27 de fev. de 2012
Respostas 8
Participantes 7