Categories
- deporte (1)
- entretenimiento (11)
- física (23)
- google SoC (19)
- informática (58)
- desarrollo web (4)
- java (2)
- motos (4)
- opinión (4)
- trabajo (9)
- ull (4)
- ulpgc (38)
- uncategorized (4)
Latest News
- Sistemas de control de versiones: Subversion
- Movistar y timofónica. Odisea 2008: Liberar el móvil.
- Poblaciones del Carbono bajo campo de radiación
- Tasas de absorción y emisión estimulada
- Intel Fortran Compiler
- Espectro del carbono. El de verdad
- Retrasos becas FPU
- Espectro del carbono
- Frameworks PHP. Por fin una alternativa.
- Primer triatlón. Experiencias.
Monthly archives
- November 2008
- June 2008
- May 2008
- April 2008
- February 2008
- November 2007
- October 2007
- September 2007
- March 2007
- February 2007
- November 2006
- October 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
Links
Blogroll
Universidad
Search
La asociación unidireccional one to many a una clase hija da problemas en Hibernate
Después de muchas horas trabajando en el asunto, he descubierto que el Hibernate no trabaja bien con asociaciones unidirireccionales uno a muchos (one to many) donde el lado de los muchos es una clase padre y la asociación real quiere hacerse a una clase hija. Esto pasa cuando las clases hijas se modelan con una tabla separada cada una (quizá no pase cuando se hace con un discriminador, no lo he comprobado).
Por ejemplo, tengo una clase Calendario que se asocia en modo uno a muchos de forma unidireccional a una clase Componente. Componente es abstracta de modo que la relación solo tiene sentido con las clases hijas de Componente, en este caso, una clase Evento.
Lo que ocurre es que en la base de datos se modelan esas relaciones colocando una clave ajena (foreign key) en la entidad del lado de muchos. Sin embargo, cuando se recorre la relación desde el lado del uno, internamente se coge el lado de los muchos y se comprueba cuales de esos registros tienen como clave ajena a la entidad del lado del uno.
Sea como fuere, Hibernate decide no realizar esa comprobación teniendo en cuenta las clases hijas.
En la documentación advierte que este tipo de relación es bastante problemática y que se utilice una relación bidireccional. Dicho y hecho, la cosa ahora funciona sin mayores problemas.
Menudo quebradero de cabeza.
Posted by dsuarez
Posted in: informática, java, trabajo
1 Comment »
May 2006
AJAX File Upload con JSF
Voy a describir el modo de hacer carga de ficheros mediante JSF utilizando AJAX. El método esta adaptado del que utiliza Martin Konicek en PHP.
Utilizaremos el componente FileUpload incluido en el Tomahawk de Apache Myfaces. En primer lugar creamos dos páginas web, una será la que contenga la imagen y otra el formulario. Incluimos la segunda en la primera mediante un iframe.
Configuramos la opción onChange del componente FileUpload para que ejecute un código javascript que cambia la imagen actual por otra imagen de carga (un indicador ajax por ejemplo). La forma de hacerlo es accediendo al documento padre y modificando el atributo src del img. A continuacion, se ejecutará un submit(). Esto establecerá el valor del UploadedFile del managed bean que da soporte al FileUpload. En el cuerpo del método setImage (o como se llame) del managed bean se guardará la imagen del modo que sea más adecuado (un fichero, una base de datos, en memoria, etc).
El iframe se recargará y se debe añadir un método en el onLoad del body. Éste método se encargará de modificar la imagen del documento padre para que apunte a la nueva imagen subida. Lo normal será pasarle como parámetro la localización de la nueva imagen, que habrá sido establecida por el setImage mencionado en el párrafo anterior.
Si todo es correcto, se vería el cambio de imagen
Posted by dsuarez
Posted in: informática, java
2 Comments »
April 2006