Foro sobre Java SE > Wrapper (creo que se llama asi)
Seguro que hay alguna opción para que no se generen las clases todo el rato.
De todas formas podrías crearte tu propia clase con su propio toString. Y que el toString de esta clase pintase los que tu quieras de las clases que genera hibernate. Esta clase sería la que pasarías al combo.
No es que se generen todo el rato, es que yo quiero regenerar el código ya que de momento estoy con muchos cambios en la base de datos.
Mas o menos he intentado lo que tu dices:
- Hibernate me genera la clase UsuariosHI.
- Yo creo la clase UsuariosBE que extiende UsuariosHI e implemento toString()
El problema es que cuando yo hago la llamada hibernate obtengo un List<UsuariosHI> y no tengo manera de transformar/usar de manera automatica UsuariosBE.
Creo que ahora queda más claro el problema.
Podrías intentar la implementación mediante un ListModel, de manera similar a como se hace en Swing.
Los ListModel usan Object, por lo que no necesitarías convertir los datos a String.
En zk, ya se usa listmodel, pero al final para poner lo que es la descripcion en el combo, usa el toString del objeto que tiene la lista.
Buenas, ya he encontrado la solución:
A través del fichero reveng.xml indicamos que la columna que queramos forma parte del toString(), en mi caso:
<table name="GEST_EMPRESAS">
<column name="D_EMPRESA">
<meta attribute="use-in-tostring">true</meta>
</column>
</table>
Después modificamos el fichero PojoToString.ftl que se encuentra en la ruta:
Eclipse\plugins\org.hibernate.eclipse.libs_3.4.0.v20111213-1944-H40-M5\lib\tools\hibernate-tools.jar
Le modifcamos como creamos conveniente.
Buenas,
Llevo mucho rato con esto y creo que ha llegado la hora de buscar algo de ayuda.
Estoy empezando a trabajar con zk framework e hibernate (eclipse hibernate utils) y tengo un problema tonto.
Para mostrar en zk un combo, utiliza el toString de los objetos que hay en la lista que le pasas.
El problema que tengo es que el objeto en cuestion se autogenera con hibernate utils, con lo que cada vez que regenero codigo, tengo que volver a añadir el toString.
Hay alguna manera de hacer un wrapper para que no tenga que estar reescribiendo todo el rato?
Muchas gracias