You are on page 1of 2

(1) iReport y JPA Eclipselink (Ayuda obteniendo la conexion) - Taringa!

http://www.taringa.net/comunidades/lenguajejava/2496765/iReport-y-...

tinchote777
1

Posts
Inicio

Comunidades

Msica

Juegos
Historial

TOPs

Global

Mis Comunidades

Directorio

Comunidades

Internet y Tecnologa

Programadores En Java [Oficial]

iReport y JPA Eclipselink (Ayuda obteniendo la conexion)

Ktulu

Programadores En Java [Oficial]


Programadores En Java [Primera Comunidad Oficial] Comunidad para compartir conocimiento acerca de este lenguaje de programacion tan interesante. Si tens dudas, compartelas en la comunidad. Si quers aportar, tambien ser bien recibido. Enjoy!! Ver ms Unirse Seguir

52
Seguidores

67
Puntos

Miembros

2,166

Temas

685

Seguidores

747

Moderador

33
Temas Ver ms del autor

HACE MS DE 1 AO

Me gusta

Twittear

iReport y JPA Eclipselink (Ayuda obteniendo la conexion)


Necesito ayuda en el tema de jasperReport y JPA ya que por mas que busco y busco no logro encontrar una solucion. Mediante el siguiente cdigo encontrado en la WEB logro generar el reporte jasper funcionando a la perfeccion y sin utilizar JPA. De hecho logr implementarlo en mis propios reportes sin problema alguno.

Comentarios recientes
TheLordKillua [Consulta] Como hacer un botn para subir una imagen gastondla35 Duda acerca de Netbeans 7.0 e interfaz grfica cronix_12 Duda acerca de Netbeans 7.0 e interfaz grfica mau075 Duda acerca de Netbeans 7.0 e interfaz grfica nolovuelvoahacer Duda acerca de Netbeans 7.0 e interfaz grfica LUCA_OTAROLA [consulta]Tabla de Hashing AsK-47 [Ayuda] Primeros pasos

public class EjecutarReporte { public static final String DRIVER="com.mysql.jdbc.Driver"; public static final String RUTA="jdbc:mysql://localhost/Example"; public static final String USER="root"; public static final String PASSWORD="xxxxxxx"; public static Connection CONEXION; public void startReport(int id){ try{ Class.forName(DRIVER); CONEXION = DriverManager.getConnection(RUTA,USER,PASSWORD); javax.swing.JOptionPane.showMessageDialog(null,"Conexion establecida"); String template="Reporte.jasper"; JasperReport reporte=null; reporte=(JasperReport) JRLoader.loadObject(template); Map param=new HashMap(); param.put("id", id); JasperPrint jasperprint= JasperFillManager.fillReport(reporte,param,CONEXION); JasperViewer visor=new JasperViewer(jasperprint,false); visor.setTitle("Geniz Reportes - GSF"); visor.setVisible(true); }catch(Exception e){ javax.swing.JOptionPane.showMessageDialog(null, e); } } }

gmroldan Duda acerca de Netbeans 7.0 e interfaz grfica gastondla35 Duda acerca de Netbeans 7.0 e interfaz grfica cristiankb1 Estudiar Programador en Lenguaje Java en IAC?
Denunciar - Historial

Nuevo botn de Taringa!


Con el botn social de Taringa! los usuarios podrn recomendar tu web muy facilmente!

En ste metodo y mas precisamente en la lnea


JasperPrint jasperprint= JasperFillManager.fillReport(reporte,param,CONEXION);

se le pasan al objeto los parametros necesarios y un objeto Connection con la conexion a la basededatos. Mi pregunta: ahora que utilizo JPA con un persistence.xml que tiene los datos de la conexion a la base de datos, como podra obtener la instancia respectiva a la misma y asignarselo a un objeto Connection para poder asi llenar el reporte? Aclaro que estoy usando EclipseLink (JPA 2.0) y Netbeans Lo ms aproximado que encontre a una solucin fue lo siguiente... pero el cdigo implementa Toplink

1 de 2

06/03/2013 03:24 a.m.

(1) iReport y JPA Eclipselink (Ayuda obteniendo la conexion) - Taringa!

http://www.taringa.net/comunidades/lenguajejava/2496765/iReport-y-...

public Connection getConnection() { EntityManagerFactory emf=Persistence.createEntityManagerFactory("NombreUnidadPersistencia"); EntityManager em=emf.createEntityManager(); return ((oracle.toplink.essentials.ejb.cmp3.EntityManager)em) .getServerSession() .getDefaultConnectionPool() .acquireConnection() .getConnection(); }

Gracias !

0
Me gusta

0
Twittear

0
Enviar

Me gusta

Seguir

A favoritos

0
Favoritos

1.532
Visitas

1
Seguidores

0
Calificacin

3 comentarios
@fededonna hace 1 ao Le tenes que pedir al entity manager que te de una conexion. El tema de toplink ahi es solo un casteo, fijate como haces para obtener el entitymanager y entre los metodos del mismo tenes que tener un getConnection. @Ktulu hace 1 ao En mi clase Main defino mi entityManager de la siguiente forma:

public static String unidadPersistencia = "SABEOPU"; public static EntityManagerFactory fabricaEntityManager = Persistence.createEntityManagerFactory(uni public static EntityManager entityManager = fabricaEntityManager.createEntityManager();

Luego para utilizarlo desde mis otras clases no hago mas que:

Main.entityManager.getTransaction.begin() Main.entityManager.getTransaction.persist(Objeto) Main.entityManager.getTransaction.commit()

Dentro de los mtodos del entityManager estn:

.getClass(); .getCriteriaBuilder(); .getDelegate(); .getEntityManagerFactory(); .getFlushMode(); .getLoc

Como vers no existe mtodo alguno para obtener la conexin, estar olvidndome de algo? Gracias de nuevo @Ktulu hace 1 ao Me contesto solo, ya que ni bien respond encontr la info necesaria en el sitio de EclipseLink. Para obtener la conexin vigente en JPA se utiliza:

java.sql.Connection conexion = entityManager.unwrap(java.sql.Connection.class);

Tienes que ser miembro para responder en este tema

Ir al cielo

Anunciar

Ayuda

Prensa

Protocolo

Desarrolladores

Denuncias

Report Abuse - DMCA

Trminos y condiciones

Privacidad de datos

2 de 2

06/03/2013 03:24 a.m.

You might also like