Pregunta

Invierto la clase de entidad con motivos, pero la clave principal no es anotada con Valor generado . Mi mesa se crea en Oracle. ¿Necesito agregar la clave principal de la tabla para el incremento automático?

Rightn ow edito manualmente la entidad y agrego GeneratedValue. Buscando una mejor solución. Creo que cuando el motor inverso, se supone que debe generar esa anotación.

¿Fue útil?

Solución

NetBeans en realidad hace un trabajo bastante agradable al generar rápidamente una estructura de esqueleto de las clases de sus entidades de una estructura de base de datos ya en el lugar. Dicho esto, debe recordar que todavía es suficiente para que se ejecute y sería una tontería considerar su código de grado de producción. Tendrás que refinarlo aún más.

En Java, lo que comúnmente me encuentro haciendo es elaborar cuidadosamente mi modelo de datos utilizando cualquiera de una variedad de herramientas (intentaré evitar hacer un argumento de venta aquí). Una vez que siento que está bastante desarrollado, generaré el DDL, arrojaré la base de datos y luego la ingeniería inversa utilizando una herramienta. Pero yo siempre Siga eso revisando el código y corrigiendo según sea necesario. A partir de ese momento, generalmente hago cambios en mis entidades primero y luego propague manualmente los cambios equivalentes a la base de datos.

Ha pasado un tiempo desde que hice cualquier desarrollo serio de Java/DB simplemente porque el gran proyecto en el que estoy trabajando tiene un equipo de DB dedicado, por lo que puede haber algunas buenas herramientas que ahora pueden generar su DDL como sus entidades con mucha precisión y en sintonía. Sin embargo, incluso si ese fuera el caso, probablemente seguiría la práctica anterior para cualquier proyecto pequeño a mediano.

Otros consejos

Nunca he visto una herramienta JPA que realice un ingeniería inversa de una base de datos Oracle correctamente. Siempre he tenido que hacer muchas modificaciones en el código revertido de la realización de la inversión inversa. Por lo general, solo invierto la ingeniería una vez y después de que propague todos los cambios nuevos del código al DB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top