Entradas

Mostrando las entradas con la etiqueta jpa

NetBeans 6.8 / JSF 2.0 / EJB 3.1 / JavaEE 6 / GlassFish 3

En NB 6.8 existe un mejorado asistente para crear un CRUD usando JSF 2.0/EJB 3.1/JPA 2.0. Aquí está un vídeo demostrativo. Las tablas se crean automáticamente a partir de las clases entidad que se crearon.

Dao y Spring

En la siguiente página, se explica cómo usar Spring usando el Patrón DAO. http://sites.google.com/site/apuntesdejava/Home/dao-y-spring Se explica también cómo usarlo con JDBC, iBatis y JPA. Se analizan los tres enfoques sobre un mismo proyecto, ya que solo así se ve la importancia de usar el patrón DAO y el patrón Factory. El ejemplo es el desarrollo de una aplicación JSF que accede a la base de datos "sample" que viene en el Java DB. También se encuentran los proyectos usados en el tutorial

Guardar imágenes en base de datos usando JPA

Hay infinidad de ejemplos de cómo guardar una imagen a base de datos con JDBC, y cómo recuperarla. Pues esta vez mostraré un ejemplo usando JPA. Supongamos que nuestra clase entidad tiene una propiedad llamada imagen que es donde se guardará la imagen. Esta propiedad debe declararse así: @Lob @Column(name = "imagen") private byte[] imagen; Para guardar una imagen (supongamos una que esté en el disco), debemos realizar lo siguiente: Entidad i = new Entidad(); // nuestra entidad File f = new File("D:/Imagen006.jpg"); //asociamos el archivo fisico InputStream is = new FileInputStream(f); //lo abrimos. Lo importante es que sea un InputStream byte[] buffer = new byte[(int) f.length()]; //creamos el buffer int readers = is.read(buffer); //leemos el archivo al buffer i.setImagen(buffer); //lo guardamos en la entidad em.persist(i); //y lo colocamos en el EntityManager Ahora, para recuperar el contenido haremos que se muestre el contenido en un JFrame: Enti

¿Para que los EJB?

Imagen
Si hacemos una aplicación Web ¿para qué necesitamos los EJB, si todo lo podemos programar en los Servlets y los JSP?... y si programos una aplicación Desktop ¿para qué los EJB si todo lo podemos programar en las clases Swing? Pero si queremos una aplicación que sea funcional tanto en Web como en Desktop, donde la lógica de negocio debe ser la misma, y si se cambia la forma de realizar alguna rutina debe ser reflejada en en las dos aplicaciones. ¿qué hacemos? ¿Aún no está claro lo que hablo? Bueno, vayamos directo a la aplicación. Haciendo una aplicación Web que calcula áreas Supongamos que queremos una aplicación web llamada AreasWeb que haga cálculos de área geométricas: el área del círculo, del pentágono regular, del triángulo y del trapecio. Los parámetros que necesitamos son los siguientes: Para calcular el círculo necesitamos el radio . Para el pentágono, la altura Para el triángulo, la base y la altura Y para el trapecio, la base menor , la base mayor y la altura

AJAX con DWR en NetBeans 6.1

Imagen
Una de las bibliotecas más fáciles que he visto para programar en AJAX es el Direct Web Remoting - DWR. En este post veremos algunas de sus características que nos ayudará a tener aplicaciones enriquecidas con ajax . Para ello usaremos: NetBeans 6.1 DWR Si deseas saber lo que es AJAX, puedes revisar mi anterior post llamado (justamente) AJAX . Instalando DWR en NetBeans La biblioteca DWR consta únicamente de un archivo .jar. Este lo podemos descargar de aquí: http://getahead.org/dwr/download. A la fecha de este post la versión del DWR es la 2.0.4. Guardaremos el archivo en una carpeta que será destinada para las bibliotecas de los proyectos. Yo, en Windows, lo guardo en d:\proys\lib\DWR, y en Linux lo guardo en ~/proys/lib Adicionalmente DWR necesita de la biblioteca commons-logging. Esta la puedes descargar de aquí: http://commons.apache.org/downloads/download_logging.cgi Descomprimamos el archivo descargado de commons-logging en la misma carpeta lib. Entramos a la opción Tools

Tutorial: EJB 3.0 Enterprise Beans con NetBeans 5.5

Imagen
Uno de los puntos fuertes e importantes de programar con Java Enteprise es la centralización del código de negocio usando EJBs. De esta manera, cualquier aplicación (ya sea web o desde una aplicación cliente desktop) siempre tendrán la misma lógica. El problema era que hasta antes de la versión 3.0 de EJB la programación era realmente pesada. Aprender lo que eran los beans de sesión (con estado y sin estado), crear interfaces y usar clases como javax.ejb.SessionBean , codificando los archivos de despliegue (y que eran diferentes entre los diferentes contenedores como JBoss, Jonas, etc) y no sé que tanto más... era un lío. Personalmente no me apetecía aprenderlo... ni usando los IDE más sofisticados como NetBeans, JBuilder, JDevelopment... nada.. me quedaría programando en web y listo. Pero no pude huir fácilmente... aún la necesidad de utilizar un solo código de negocio para varias aplicaciones me rondaba. Hasta que salió el Java EE 5. Tuve mis dudas, pensé que sería lo mismo que ant