quiero preguntar por qué se utilizan tanto las anotaciones java ... Sé que reemplazaron la configuración xml en, por ejemplo, jpa, pero ¿por qué se usa esta configuración tipo? Considere este fragmento de código: ¿Por qué las anotaciones Java?
@Entity
class Ent{
// some fields
}
//... somewhere in the other file far far away
class NonEnt{
// whatever here
}
Ahora, cuando trato de poner esto en contexto de persistencia, con el método persist
EntityManager
, obtengo un error de tiempo de ejecución (mejor sería obtener un error de compilación) al intentar persistir la instancia
NonEnt
. Existe una solución obvia para mí, obligar a las entidades a implementar alguna interfaz sin método en lugar de usar @Annotations. Pero esto no es popular entre los diseñadores de frameworks, ¿cuál es el inconveniente de esta solución?
Gracias por responder ...
Es una pregunta de diseño para los desarrolladores de esta biblioteca. Tiene razón en que los errores de tiempo de compilación son mejores que los errores de tiempo de ejecución. Quizás el compilador de Java debería tener una forma de especificar las anotaciones de un argumento? Hasta que lo haga, una interfaz de marcador sería mejor. –
Hay demasiadas solicitudes para cerrar preguntas hoy en día ... ¿por qué las personas no justifican las razones para cerrar una pregunta? –
La compatibilidad con versiones anteriores es la causa de muchas de estas decisiones de diseño. Cuando solo tenían archivos XML, es posible que no quisieran modificar las clases de Java. Sin embargo, ahora no pueden ordenar una interfaz sin romper versiones anteriores. Con la anotación, puede usar esto O un archivo XML. Para tener una interfaz, debería cambiar todo el código para tenerlo, incluso los usuarios de XML. –