Pregunta

Estoy tratando de construir la base de datos de la aplicación utilizando GWT 1.5.3.Yo uso las anotaciones JPA con mis objetos.Parece que en modo de host GWT la RPC funciona bien.Pero cuando intento compilar mi app usando GWT-compilador recibo errores como:"El import javax.la persistencia no puede ser resuelto", "Entidad no puede ser resuelto a un tipo".toplink-essentials.jar ya está incluido en mi ruta del proyecto.Configuración de lo que más necesito resolver este problema?

¿Fue útil?

Solución 4

Ok, he encontrado lo que faltaba. Que necesitaba para incluir anotaciones JPA-source.jar en mi camino GWT compilador en escritura miaplicacion-compile.cmd (o en el archivo de generación Ant). Por cierto ¿alguien puede decirme el origen de este archivo de anotaciones JPA-source.jar?

Otros consejos

Puede utilizar Gilead ( http://sourceforge.net/projects/gilead/ ) biblioteca para administrar sin problemas entidades JPA con GWT.

Regards

Es necesario incluir el código fuente de las anotaciones JPA en la trayectoria de la estructura para su proyecto GWT. Vea aquí para más detalles:

http: // código. google.com/p/google-web-toolkit/issues/detail?id=1830&can=1&q=jpa

En concreto este archivo JAR que arreglar el problema:

http: // Google- web-toolkit.googlecode.com/issues/attachment?aid=1475633892125294312&name=jpa-annotations-source.jar

El problema general de la APP y GWT es que sí GWT no es compatible con las clases de la APP de lujo, por lo que acaba de hacer entidades persistentes sencilla POJO DTO que implementa el java.io.Serializable y tienen anotaciones simples recursos de la APP. Es necesario crear las clases de entidad en el ámbito de aplicación del cliente GWT o lo tiene bajo el paquete yourproject.client o añadirlas a

ruta de origen = "cliente"

fuente de trayectoria = "folderOfYourEntities"

en el archivo YouProject.gwt.xml del proyecto GWT. Esto incluirá los objetos de entidad en el cliente GWT para que puedan utilizado ellos al otro lado del cliente de la RPC también. La DAO debe estar en el lado del servidor y puede contener cualquier cosa que le apoya contenedores.

El problema que tiene ahora es que cuando se compila, el compilador GWT saids que desn't sabe lo que esas importaciones para annonations la APP están en las clases DTO entidad. Es por eso que necesita los códigos de clase javax.persistence y fuente. La referencia JPA-anotación source.jar por Rustmyself funciona. Es sólo el javax.persistence compilado archivos de clase y los archivos de códigos fuente, además de un Persistence.gwt.xml. Es un simple módulo de GWT para el paquete javax.persistence. Si usted sabe cómo hacer su propio módulo de GWT, usted debe tener problemas para hacer todo este trabajo. Por cierto, la fuente oficial para el Java EE se puede encontrar en la sección de construcción del sitio dev glassfish wiki.glassfish.java.net

Hay muchas otras soluciones que envuelven a su fantasía entidades PU a objetos simples automáticamente utilizando proxy o les carga perezosa en tiempo de ejecución. Trabajan, pero no soluciones óptimas. La mejor práctica es hacer las cosas simple y robusta desde el principio por tener entidades JPA POJO DTO en el contexto de cliente GWT y DAO completo soplado en el servidor.

GWTPersistence Ejemplo
He añadido un ejemplo real de trabajo sobre cómo hacer GWT y JPA funcionan a la perfección. Es un proyecto NetBean con códigos fuente y archivo de distribución. Ver GWTPersistence en NingZhang.info

También estoy trabajando con JPA <--> GWT transformación de datos, etc.

En un esfuerzo para eliminar el DTO capa solía Galaad demasiado.

Mi objeción aquí es acerca de la traducción de javax.la persistencia.Para evitar esto he utilizado XML JPA asignación de las declaraciones de la orm.xml)

Simplemente, tenga otra versión de sus entidades, pero sin las anotaciones!

El rebote en el comentario de sinérgica, ahora (de GWT 1.5) sólo tendrá que añadir

<source path='javax.persistence'/>

a su Module.gwt.xml

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