sábado, diciembre 06, 2008
Reinicio
Bueno vamos a darle un poco de vida otra vez a este blog y es que como sabran ahora que me han podido costear un smartphone en la empresa pues puedo aprovecharlo al maximo jeje aunque no muy provechosamente bueno los dejo este solo es un post de prueba para ver como se comporta desde la funcion mail to blogger
sábado, junio 21, 2008
Hoy
Me he puezto a penzar que ha zido de mi vida eztoz ultimoz añoz aun no cumplo loz 21 y ya voy a tener auto propio.. viejito.. pero auto propio... pero realmente ziempre me he zentido la zombra de alguien... hay mucha maz gente... que podria derrotarme tan facil... o al menoz ezo creo...
Conoci hace un tiempo a un tal Plata... ez una perzona muy brillante... lo reconozco.. dejo la ezcuela para continuar zu educacion... y ahora zabe maz que algunoz que ze dicen ingenieroz... jaja pero no tiene titulo ni nada por el eztilo... contraztante... pero ez cierto... ziempre me he zentido que eztoy un pazo antez de el... o al menoz ezo creia..
El Rayaz (mi jefe) dice.. que zi noz la pazamoz viendo a la competencia... vamoz a ver mil razonez por laz cualez rendirnoz... pero zi noz concentramoz en nozotroz mizmoz.. podremoz zalir adelante... e incluzo zobrepazar a la competencia... tal vez Plata tenga 3 añoz maz de experiencia que yo... pero en ezte año que hui de la ezcuela... he dezarrollado ziztemaz de mizion critica... conectado con laz principalez telefonicaz del paiz... y el legendario ziztema interbancario.. no ze que haya hecho el... quiza cozaz mejore.. o peorez.. pero yo ziento que voy por buen camino... realmente mi meta ya no ez alcanzarlo... a eze tipo de perzonaz puedez aprenderle mucho... pero... eze no ez el chizte.. el conocimiento aprendido por uno mizmo... vale mucho maz... que el conocimiento obtenido por un maeztro... yo no tengo maeztroz... no digo que no haga falta un mentor... hace falta... ziempre lo hara... pero prefiero conzeguir mi propio eztilo y no la copia de alguien maz...
Conoci hace un tiempo a un tal Plata... ez una perzona muy brillante... lo reconozco.. dejo la ezcuela para continuar zu educacion... y ahora zabe maz que algunoz que ze dicen ingenieroz... jaja pero no tiene titulo ni nada por el eztilo... contraztante... pero ez cierto... ziempre me he zentido que eztoy un pazo antez de el... o al menoz ezo creia..
El Rayaz (mi jefe) dice.. que zi noz la pazamoz viendo a la competencia... vamoz a ver mil razonez por laz cualez rendirnoz... pero zi noz concentramoz en nozotroz mizmoz.. podremoz zalir adelante... e incluzo zobrepazar a la competencia... tal vez Plata tenga 3 añoz maz de experiencia que yo... pero en ezte año que hui de la ezcuela... he dezarrollado ziztemaz de mizion critica... conectado con laz principalez telefonicaz del paiz... y el legendario ziztema interbancario.. no ze que haya hecho el... quiza cozaz mejore.. o peorez.. pero yo ziento que voy por buen camino... realmente mi meta ya no ez alcanzarlo... a eze tipo de perzonaz puedez aprenderle mucho... pero... eze no ez el chizte.. el conocimiento aprendido por uno mizmo... vale mucho maz... que el conocimiento obtenido por un maeztro... yo no tengo maeztroz... no digo que no haga falta un mentor... hace falta... ziempre lo hara... pero prefiero conzeguir mi propio eztilo y no la copia de alguien maz...
martes, junio 03, 2008
Los errores raros de Hibernate
Hace algun tiempo.... cuando mi disco duro era joven.. y sus dominios no llegaban a cubrir mas de 10GB... descubri Hibernate... gracias al maestro Suly... les dire... que es uno de los mas grandes guerreros que haya visto...
Hibernate era un ataque que hacia que cualquier hechizo se volviera persistente... es decir.. no teniamos que conjurarlo una y otra vez... con que una sola vez lo hicieramos bastaba...
------------------------------------------------------------------
Jaja hace mucho que no escribia algo asi...
Bueno Hibernate tiene varios errores medio raros... uno de los cuales es que puede faltar uno o varios jar.. hay que estar atentos a los que nos dicen los Logs... un
puede significar que nos falta el archivo log4j.jar que viene dentro de las librerias de hibernate... o puede hacer algo mas complejo.. en su caso nos falta las lineas
org.slf4j.LoggerFactory importación; import org.slf4j.Logger; org.slf4j.Logger importación; .. private Logger log = LoggerFactory. getLogger (Application. class ); privado Logger log = LoggerFactory. getLogger (Application. clase); ..
En donde invocan al persistenceManager, a parte de esto.... podemos encontrar el timeout de MySQL... que cuando la conexion persistente esta inactiva por mas de 8 horas MySQL cierra la conexion.... para eso en la entrada anterior en el area de cofiguracion de hibernate incluimos las lineas de un tal c3po.... que nos ayuda a corregir este problema...
Espero que esto te haya ayudado... y si lo resolviste de otra manera..o aun no puedes.. me gustaria.. que me lo comentaras... adios
miércoles, mayo 28, 2008
Error en Netbeans con WebServices
Los Web Services son una herramienta fundamental en el desarrollo de aplicaciones SOA, pues le da a terceros la posibilidad de llamar a alguna parte de nuestro sistema.
En Netbeans es facil crear un nuevo WebService... sin embargo, a raiz de la actualizacion de un modulo... no estan funcionando bien, al menos a mi, no me generaba el archivo jaxws-build.xml ni me lo incluia en el build.xml.
Bueno lo que tuve que hacer fue escribir estos archivos a mano.... pero como la neta no se nada de ANT... ( debo de empezar a meterme a Eclipse..) pues me base en otros archivos que ya tenia... asi que su archivo debe quedar de la siguiente manera
jaxws-build.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xalan="http://xml.apache.org/xslt" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1"> <target name="wsgen-init" depends="init, -do-compile"> <mkdir dir="${build.generated.dir}/wsgen/service"/> <mkdir dir="${build.generated.dir}/wsgen/service/resources/"/> <mkdir dir="${build.generated.dir}/wsgen/binaries"/> <mkdir dir="${build.classes.dir}"/> <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen"> <classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/> </taskdef> </target> <target name="wsgen-nombreDelWebService" depends="wsgen-init"> <wsgen fork="true" xendorsed="true" sourcedestdir="${build.generated.dir}/wsgen/service" resourcedestdir="${build.generated.dir}/wsgen/service/resources/" destdir="${build.generated.dir}/wsgen/binaries" keep="true" genwsdl="true" sei="com.core.web"> <classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/> <jvmarg value="-Djava.endorsed.dirs=${jaxws.endorsed.dir}"/> </wsgen> </target> <target name="wsgen-service-compile" depends="wsgen-nombreDelWebService"> <webproject2:javac srcdir="${build.generated.dir}/wsgen/service" classpath="${j2ee.platform.wsimport.classpath}:${javac.classpath}" destdir="${build.classes.dir}"/> </target> </project>
Luego tenemos que poner este otro codigo en el archivo build.xml, escribo las lineas de arriba y de abajo como referencia, va casi cuando inicia el documento
<project ... <import file="jaxws-build.xml"/> <import file="ant-deploy.xml"/>
Esto va en compilation section, en mi caso solo decia -post-compile y no dependia de wsgen-service-compile
<target depends="wsgen-service-compile" name="-post-compile"> <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> </target>
Espero que le haya servido a alguien, por que realmente esto me atraso unos dias...
lunes, mayo 19, 2008
JSF + Hibernate + JPA + Netbeans + ZK (Configuracion)
Bueno ya despues de mucho... publicare la primera parte completa del minitutorial de como integrar todas las tecnologias antes mencionadas.... primero vamos a ver la configuracion.... y despues explicare el funcionamiento de cada uno...
Bueno primero crearemos las librerias de NetBeans nos vamos a Tools-> Libraries y seleccionamos New, escribimos Hibernate JPA, y seleccionamos Add JAR/Folder, ahora buscamos todos los JAR ok? dije JAR!!!! no folders... que les pedi en la parte pasada del tutorial... ahora bien... hacemos lo mismo para ZK y ZK JSF, solo queremos los JAR que estan dentro de la carpeta libs para ZK y ZK JSF.
Bueno.. creemos una base de datos sencilla con dos tablas... tiene MySQL cierto??, si no busquen como instalarlo para su propia distribucion de linux... por que tienen linux verdad??? jejeje bueno.. como sea... instalen MySQL... para este tutorial... no entrare en detalles de como lo instalamos... y asumire que son expertos en la materia... despues posteare algo sobre MySQL...
entramos a MySQL, y crearemos una pequeña base de datos de escuelas...
Para crear una base de datos
CREATE DATABASE escuela;
Para crear las tablas
CREATE TABLE instituto (id_inst int primary key auto_increment, nombre varchar(20), direccion varchar(20)) ENGINE=InnoDB;
CREATE TABLE profesor (id_prof int primary key auto_increment, nombre varchar(20),id_inst int) ENGINE=InnoDB;
Para crear la relacion
Todo es una sola linea..
ALTER TABLE profesor
ADD CONSTRAINT profesor_instituto
FOREIGN KEY (id_inst)
REFERENCES instituto (id_inst)
ON DELETE RESTRICT
ON UPDATE CASCADE;
Ahora nos vamos a File->New Proyect y seleccionamos Web | Web Application, le ponemos escuela al proyecto, seleccionamos tomcat como servidor y seleccionamos JavaServer Faces.


En source proyects creamos un nuevo paquete y le llamamos DataBase, hacemos clic derecho seleccionamos New y despues DataBase, despues seleccionamos New Other para elegir Persistence | Entity Classes from Database, en DataSource seleccionamos New DataSource, ahi seleccionamos DataBase Connection-> new database connection, nos aparecera un dialogo para conectarnos con MySQL seleccionamos MySQL connector, el driver nos vale...pero en DataBase URL escribimos jdbc:mysql://127.0.0.1/escuela, pongan 127.0.0.1 por que luego en unas distros no funciona el localhost por que traen una configuracion rara... y no me voy a poner a decir como quitarselas ahorita.. jeje




Debe aparecernos que la conexion fue existosa.. si no... algo escribiste mal.. o no tienes levantado mysql... /etc/init.d/mysql start lo levanta.. :D
Seleccionamos las dos clases que antes hemos creado... Instituto aparecera de manera rara por que fue incluida ya que hay una clave foranea hacia ella.
Ahora hay que crear una unidad persistente, seleccionamos CREATE PERSISTENCE UNIT, nos creare una unidad persistente solo falta seleccionar Hibernate como nuestro manejador,

De todos modos les dejo mi persistence.xml
Automaticamente tenemos nuestras clases mapeadas... si nos marca error tenemos que entrar a las propiedades del proyecto, clic derecho Properties, Libraries Add Library y seleccionamos HibernateJPA la libreria que antes creamos, junto con ZK y ZK JSF.
AUTONUMERICO HIBERNATE
Aqui hay un error con la generacion de NetBeans puesto que como usamos autonumerico... necesitamos agregar unas lineas para que nos respeten el autonumerico, si todo salio bien deberia estar en Instituto .java despues de la linea @Id debemos escribir @GeneratedValue, y debemos importar javax.persistence.GeneratedValue; en Instituo y Profesor, ahora no tenemos problemas...
Bien ahora configuramos NetBeans para usar ZK en Configuration Files nos vamos a Web.xml y escrimos estas lineas en el apartado donde veas los listener
Y en donde veas las tags de servlet escribe estas.. (de preferencia antes de las de JSF)
Ahora ya estamos listos para usar ZK, tenemos que entrar en nuestro archivo WelcomeJSF.jsp
Agregamos nuestra TAG
esto nos permite usar ZK en JSF... y va donde van todas las demas tags casi hasta el principio
Bueno ya esta funcionando despues veremos acerca del binding
Bueno primero crearemos las librerias de NetBeans nos vamos a Tools-> Libraries y seleccionamos New, escribimos Hibernate JPA, y seleccionamos Add JAR/Folder, ahora buscamos todos los JAR ok? dije JAR!!!! no folders... que les pedi en la parte pasada del tutorial... ahora bien... hacemos lo mismo para ZK y ZK JSF, solo queremos los JAR que estan dentro de la carpeta libs para ZK y ZK JSF.
Bueno.. creemos una base de datos sencilla con dos tablas... tiene MySQL cierto??, si no busquen como instalarlo para su propia distribucion de linux... por que tienen linux verdad??? jejeje bueno.. como sea... instalen MySQL... para este tutorial... no entrare en detalles de como lo instalamos... y asumire que son expertos en la materia... despues posteare algo sobre MySQL...
entramos a MySQL, y crearemos una pequeña base de datos de escuelas...
Para crear una base de datos
CREATE DATABASE escuela;
Para crear las tablas
CREATE TABLE instituto (id_inst int primary key auto_increment, nombre varchar(20), direccion varchar(20)) ENGINE=InnoDB;
CREATE TABLE profesor (id_prof int primary key auto_increment, nombre varchar(20),id_inst int) ENGINE=InnoDB;
Para crear la relacion
Todo es una sola linea..
ALTER TABLE profesor
ADD CONSTRAINT profesor_instituto
FOREIGN KEY (id_inst)
REFERENCES instituto (id_inst)
ON DELETE RESTRICT
ON UPDATE CASCADE;
Ahora nos vamos a File->New Proyect y seleccionamos Web | Web Application, le ponemos escuela al proyecto, seleccionamos tomcat como servidor y seleccionamos JavaServer Faces.



En source proyects creamos un nuevo paquete y le llamamos DataBase, hacemos clic derecho seleccionamos New y despues DataBase, despues seleccionamos New Other para elegir Persistence | Entity Classes from Database, en DataSource seleccionamos New DataSource, ahi seleccionamos DataBase Connection-> new database connection, nos aparecera un dialogo para conectarnos con MySQL seleccionamos MySQL connector, el driver nos vale...pero en DataBase URL escribimos jdbc:mysql://127.0.0.1/escuela, pongan 127.0.0.1 por que luego en unas distros no funciona el localhost por que traen una configuracion rara... y no me voy a poner a decir como quitarselas ahorita.. jeje




Debe aparecernos que la conexion fue existosa.. si no... algo escribiste mal.. o no tienes levantado mysql... /etc/init.d/mysql start lo levanta.. :D
Seleccionamos las dos clases que antes hemos creado... Instituto aparecera de manera rara por que fue incluida ya que hay una clave foranea hacia ella.
Ahora hay que crear una unidad persistente, seleccionamos CREATE PERSISTENCE UNIT, nos creare una unidad persistente solo falta seleccionar Hibernate como nuestro manejador,

De todos modos les dejo mi persistence.xml
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="tiempoairePU" type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.username" value="usuario">
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver">
<property name="hibernate.connection.password" value="password">
<property name="hibernate.connection.url" value="jdbc:mysql://127.0.0.1/escuela">
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect">
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider">
<property name="hibernate.c3p0.acquire_increment" value="3">
<property name="hibernate.c3p0.idle_test_period" value="14400">
<property name="hibernate.c3p0.timeout" value="25200">
<property name="hibernate.c3p0.max_size" value="15">
<property name="hibernate.c3p0.min_size" value="3">
<property name="hibernate.c3p0.max_statements" value="0">
<property name="hibernate.c3p0.preferredTestQuery" value="select 1;">
</property>
</property>
</property>
Automaticamente tenemos nuestras clases mapeadas... si nos marca error tenemos que entrar a las propiedades del proyecto, clic derecho Properties, Libraries Add Library y seleccionamos HibernateJPA la libreria que antes creamos, junto con ZK y ZK JSF.
AUTONUMERICO HIBERNATE
Aqui hay un error con la generacion de NetBeans puesto que como usamos autonumerico... necesitamos agregar unas lineas para que nos respeten el autonumerico, si todo salio bien deberia estar en Instituto .java despues de la linea @Id debemos escribir @GeneratedValue, y debemos importar javax.persistence.GeneratedValue; en Instituo y Profesor, ahora no tenemos problemas...
Bien ahora configuramos NetBeans para usar ZK en Configuration Files nos vamos a Web.xml y escrimos estas lineas en el apartado donde veas los listener
<listener>
<description>Para limpiar la basura de las sesiones</description>
<display-name>ZK Session Cleaner</display-name>
<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class></listener>
Y en donde veas las tags de servlet escribe estas.. (de preferencia antes de las de JSF)
<servlet>
<description>ZK cargador para pagimas ZUML</description>
<servlet-name>zkLoader</servlet-name>
<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
<init-param>
<param-name>update-uri</param-name>
<param-value>/zkau</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<description>Engine para la actualizacion asincrona</description>
<servlet-name>auEngine</servlet-name>
<servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>*.zul</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>*.zhtml</url-pattern>
</servlet-mapping>
Ahora ya estamos listos para usar ZK, tenemos que entrar en nuestro archivo WelcomeJSF.jsp
Agregamos nuestra TAG
<%@taglib prefix="z" uri="http://www.zkoss.org/jsf/zul" %>
esto nos permite usar ZK en JSF... y va donde van todas las demas tags casi hasta el principio
<z:page>
<z:window title="Hola" border="normal">
Hola
</z:window>
</z:page>
Bueno ya esta funcionando despues veremos acerca del binding
viernes, mayo 16, 2008
Hola
Bueno pues ya le voy a dedica un poco mas de tiempo a esto... pues me he topado con muchos problemas a la hora de aprender.. no hay muchos tutoriales buenos... y menos en español... a eso sumenle... que luego ya no los vuelvo a encontrar y no me acuerdo.. asi que hare una referencia rapida de lo que vaya encontrando.. ok?... por cierto... Netbeans y ZK... hacen una maravilla.. jeje.. nada mas que los dos son demasiado lentos... hay que aumentar la memoria RAM del servidor y la maquina de desarrollo para que funcionen bien...
miércoles, marzo 05, 2008
JSF + Hibernate + JPA + Netbeans + ZK
Hoy hablare de como integrar todas estas tecnologias, ya que no encontre nada al respecto...:( solo encontre partes de todo... asi que decidi integrarlas en este minitutorial
Ver video
Primero hablaremos sobre las tecnologias..
JSF, es un framework de java para desarrollar tipo MVC, modelo, vista controlador, donde separamos la logica de negocios del interfaz grafico, puede usarse este o Struts, yo me acomodo mas con JSF ya que utiliza un modelo tipo Swing... y llevo un rato ya desarrollando con Swing
Hibernate es un motor de persistencia que nos mapea la base de datos en esquema orientado a objetos, es decir.. en vez de usar las conexiones JDBC, a parte reliza una conexion a la base de datos persistente por lo que aumenta el rendimiento de la misma
JPA (Java Persistent API) creo?... es un estandard para usar un motor de persistencia... hace mas rapido el desarrollo que con hibernate puro... por que hibernate necesita configuraciones en XML... y el JPA no...
NetBeans es un IDE monstruoso.. gasta casi 512 GB de ram para funcionar... pero tiene varios asistentes que nos haran el desarrollo mas rapido..
ZK es un framework de AJAX ya he hablado antes de el... nos hara la interfaz mas rica... y con mas funciones... que si solo usaramos JSF
Primero dire que necesitamos y en la siguiente entrada... les dire como configurarlo...
http://www.hibernate.org/6.html
Bajamos el CORE y el ENTITY MANAGER y de ellos necesitamos... asi que pongalos en otra carpeta..
Del Hibernate EntityManager:
o hibernate-entitymanager.jar
o lib/hibernate-annotations.jar
o lib/hibernate-commons-annotations.jar
o lib/jboss-archive-browsing.jar
o lib/jta.jar
Del Hibernate Core
o hibernate3.jar
o lib/antlr-2.7.6.jar
o lib/asm-attrs.jar
o lib/asm.jar
o lib/c3p0-0.9.1.jar
o lib/cglib-2.1.3.jar
o lib/commons-collections-2.1.1.jar
o lib/commons-logging-1.0.4.jar
o lib/concurrent-1.3.2.jar
o lib/dom4j-1.6.1.jar
o lib/ehcache-1.2.3.jar
o lib/javassist.jar
o lib/log4j-1.2.11.jar
Bajamos ZK
http://prdownloads.sourceforge.net/zk1/zk-bin-3.0.3.tar.gz?download
Bajamos las librerias de ZK para JSF
http://downloads.sourceforge.net/zk1/zk-JSFComps-bin-2.0.0.zip
Netbeans ya tiene integrado el JSF y JPA asi que ya con esto.. tenemos todo listo para empezar a configurar..pero eso sera... en la otra entrada
Ver video
Primero hablaremos sobre las tecnologias..
JSF, es un framework de java para desarrollar tipo MVC, modelo, vista controlador, donde separamos la logica de negocios del interfaz grafico, puede usarse este o Struts, yo me acomodo mas con JSF ya que utiliza un modelo tipo Swing... y llevo un rato ya desarrollando con Swing
Hibernate es un motor de persistencia que nos mapea la base de datos en esquema orientado a objetos, es decir.. en vez de usar las conexiones JDBC, a parte reliza una conexion a la base de datos persistente por lo que aumenta el rendimiento de la misma
JPA (Java Persistent API) creo?... es un estandard para usar un motor de persistencia... hace mas rapido el desarrollo que con hibernate puro... por que hibernate necesita configuraciones en XML... y el JPA no...
NetBeans es un IDE monstruoso.. gasta casi 512 GB de ram para funcionar... pero tiene varios asistentes que nos haran el desarrollo mas rapido..
ZK es un framework de AJAX ya he hablado antes de el... nos hara la interfaz mas rica... y con mas funciones... que si solo usaramos JSF
Primero dire que necesitamos y en la siguiente entrada... les dire como configurarlo...
http://www.hibernate.org/6.html
Bajamos el CORE y el ENTITY MANAGER y de ellos necesitamos... asi que pongalos en otra carpeta..
Del Hibernate EntityManager:
o hibernate-entitymanager.jar
o lib/hibernate-annotations.jar
o lib/hibernate-commons-annotations.jar
o lib/jboss-archive-browsing.jar
o lib/jta.jar
Del Hibernate Core
o hibernate3.jar
o lib/antlr-2.7.6.jar
o lib/asm-attrs.jar
o lib/asm.jar
o lib/c3p0-0.9.1.jar
o lib/cglib-2.1.3.jar
o lib/commons-collections-2.1.1.jar
o lib/commons-logging-1.0.4.jar
o lib/concurrent-1.3.2.jar
o lib/dom4j-1.6.1.jar
o lib/ehcache-1.2.3.jar
o lib/javassist.jar
o lib/log4j-1.2.11.jar
Bajamos ZK
http://prdownloads.sourceforge.net/zk1/zk-bin-3.0.3.tar.gz?download
Bajamos las librerias de ZK para JSF
http://downloads.sourceforge.net/zk1/zk-JSFComps-bin-2.0.0.zip
Netbeans ya tiene integrado el JSF y JPA asi que ya con esto.. tenemos todo listo para empezar a configurar..pero eso sera... en la otra entrada
Suscribirse a:
Entradas (Atom)