lunes, 25 de febrero de 2008

hibernate join con hql devuelve un List especial!

cuando dentro de una query hql utilizamos el join para relacionar dos o más entidades persistentes, cuando devolvemos el resultado de la busqueda -> list() nos encontramos con un objeto del tipo List especial!, el cual tendremos que recorrerlo para acceder a cada uno de sus elementos


jueves, 21 de febrero de 2008

implementar HashCode y Equals con Eclipse

Atención: señalar la casilla "Use instance of" para que funcione!

martes, 12 de febrero de 2008

Hibernate asociaciones-relaciones

Documentación de configuración de relaciones de entidades en hibernate utilizando xml
http://www.hibernate.org/hib_docs/reference/en/html/associations.html

miércoles, 6 de febrero de 2008

lunes, 4 de febrero de 2008

AppFuse 2.0 Released!

Trabajar con appFuse 2
http://appfuse.org/display/APF/2007/09/18/AppFuse+2.0+Released%21

http://appfuse.org/display/APF/AppFuse+QuickStart

AppFuse i18n (Internationalization)

Para que nuestra aplicación appfuse pueda utilizarse en varios idiomas, tenemos que definir las posibles claves en el archivo /src/main/resources/messages.properties en forma de clave/valor.
Ejemplo:
webapp.name=AppFuse Light

Cada idioma nuevo deberá tener un messages.properties diferente, de forma que si tenemos idioma inglés deberemos tener messages_en.properties, y en español messages_es.properties

Después desde nuestro jsp podemos referenciar dicha clave con el objeto message
fmt:message key="webapp.name" y según la configuración del navegador de usuario que consulte la aplicación (firefox>preferencias>avanzado>general>idiomas>elegir) obtendrá el idioma correspondiente


Toto esto funcionará si nuestro framework está bien configurado, es decir si el archivo /src/main/webapp/WEB-INF/dispatcher-servlet.xml ha declarado el bean:
bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" con el basename=messages

logging en appfuse (spring)

Para imprimir por consola utilizando el Log de apache

  1. Para imprimir por consola utilizando el objeto
    • protected final Log logger = LogFactory.getLog(getClass());
  2. hay que importar en nuestro archivo las siguientes clases:
    • import org.apache.commons.logging.Log;
    • import org.apache.commons.logging.LogFactory;
  3. utilizarlo dentro de nuestro código sustituyendo las lineas
    • System.out.println("mensaje"); por ...
    • logger.debug("userId set to: " + user.getId(); , donde el objeto logger nos permite indicar varios niveles de logging (DEBUG, INFO, WARN, ERROR)
  4. configurar el archivo /src/main/resources/log4.xml para indicarle los niveles que queremos imprimir en consola

Instalar appfuse-light1.8 y utilizar maven y ant

https://appfuse-light.dev.java.net/

  1. leerse el QuickStart de la aplicación
  2. descargar:appfuse-light-all-1.8.1.zip
  3. descomprimir archivo en workspace de eclipse
  4. abrir consola cd en el directorio recien creado (descomprimido)
  5. configurar maven para que trabaje con repositorio de red local
    1. editar archivo /pom.xml sustituir http://download.java.net/maven/2 por http://...
  6. ejecutar: ant new ( cuando solicite el nombre aplicacion insertar el deseado)
  7. Para generar el proyecto de eclipse:
    1. mvn eclipse:eclipse
    2. mvn eclipse:eclipse -DdownloadSources=true
    3. mvn -Declipse.workspace= eclipse:add-maven-repo
  8. Crear un nuevo proyecto de eclipse con el nombre que le hemos indicado en la instalación y con el path al workspace/nombreapp
  9. Preparar el despliegue de la aplicación con el tomcat de nuestro equipo y la conexion a datos(mysql):
    1. editar /build.xml propiedad server.home
    1. editar src/main/resources/jdbc.properties user y password
  10. Utilizar el archivo ant (build.xml) de nuestro proyecto para construir y desplegar
  11. DeployWar