Pessoal, fiz um pesqueno exemplo, só que esta dando erro (JTA EntityManager cannot access a transactions) aqui :
em.getTransaction().begin();
minha chamada:
PrecoPorMetodoBean osb = new PrecoPorMetodoBean();
List<PrecoPorMetodo> resultado1 = osb.selecionaprecopormetodo(metodo.getId().toString());
public class PrecoPorMetodoBean implements PrecoPorMetodoLocal {
private static EntityManagerFactory emf;
private static EntityManager em;
@EJB(name = "OrcamentoServiceBean/local")
private OrcamentoServiceLocal orcamentoService;
public static void startConnection() {
emf = Persistence.createEntityManagerFactory("lims-pu");
em = emf.createEntityManager();
em.getTransaction().begin();
}
public static void closeConnection() {
em.getTransaction().commit();
emf.close();
}
public static EntityManager getEntityManager() {
return em;
}
public List<PrecoPorMetodo> selecionaprecopormetodo(String vMetodo_id) {
try {
startConnection();
closeConnection();
.........
persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="lims-pu" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/LimsDS</jta-data-source>
<jar-file>../auditor-ejb-${pom.version}.jar</jar-file>
<jar-file>../usuario-ejb-${pom.version}.jar</jar-file>
<jar-file>../funcionario-ejb-${pom.version}.jar</jar-file>
<jar-file>../cliente-ejb-${pom.version}.jar</jar-file>
<jar-file>../orcamento-ejb-${pom.version}.jar</jar-file>
<jar-file>../comum-ejb-${pom.version}.jar</jar-file>
<jar-file>../analise-ejb-${pom.version}.jar</jar-file>
<jar-file>../coleta-ejb-${pom.version}.jar</jar-file>
<jar-file>../faturamento-ejb-${pom.version}.jar</jar-file>
<jar-file>../laudo-ejb-${pom.version}.jar</jar-file>
<properties>
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
<property name="hibernate.dialect" value="${hibernate.dialect}" />
<!-- property name="hibernate.hbm2ddl.auto" value="${hibernate.hbm2ddl}" /-->
<property name="hibernate.show_sql" value="${hibernate.show_sql}" />
<property name="hibernate.cache.provider_class" value="${hibernate.cache.provider_class}"/>
<property name="hibernate.cache.use_second_level_cache" value="${hibernate.cache.use_second_level_cache}"/>
<property name="hibernate.cache.use_query_cache" value="${hibernate.cache.use_query_cache}"/>
<property name="hibernate.jdbc.batch_size" value="0" />
</properties>
</persistence-unit>
</persistence>