Una de las cosas a las que me he acostumbrado al trabajar con Rails es al mantenimiento automático de timestamps (a saber, fecha de creación y fecha de actualización). El framework Play no tiene nada del estilo, así que aquí os dejo la clasecilla que usamos nosotros para obtener este comportamiento. Con sólo dejarla en app/models
todos los modelos tendrán los atributos createdAt
y updatedAt
y sus valores se actualizarán automáticamente. A nosotros nos gusta así, pero podéis afinar el comportamiento a vuestro gusto.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
Lo sentimos, pero los comentarios están cerrados
Se nota la inspiración :)
Un “invento” muy útil sin duda. Eso sí, ten cuidado con las limitaciones de JPA (que no sé si podría ser el caso porque no conozco nada de Play, pero por si las moscas…): https://www.jfire.org/modules/phpwiki/index.php/Why%20not%20JPA#incompleteLifecycleEvents
Bien el uso de JPA, el único problema es cuando te topas con GAE, ahí si o si te pones a hacer tus propias librerías o utilizas Siena. De momento es la única limitación que he encontrado con JPA en play y solo sobre GAE.
Un poco de refactor en el método onPrePersist:
this.createdAt = this.createdAt == null ? new Date() : ;¿Qué os parece?