usar - Intefacing EJB-XML utilizando la interfaz JAXB
jaxb xml to pojo (2)
Si combina estrechamente su modelo de datos (beans de entidad) con su interfaz XML, puede que no sea la mejor idea del mundo; le impide cambiar uno sin cambiar el otro.
No estoy 100% seguro de entender lo que estás tratando de hacer, pero creo que hay una manera de ordenar a JAXB que amplíe las clases en lugar de crear nuevas. Podrías crear tus Frijoles de la Entidad de forma normal, y hacer que tus frijoles generados por JAXB extiendan aquellos con la información adicional.
Puedo decir que obtener instancias de beans de Entity desde otro lugar que no sea su capa de persistencia (como deserializarlos de XML) va a ser un gran problema para usted.
También tenga en cuenta que usar XML para comunicarse entre aplicaciones Java (como entre una capa JSP / Servlet y EJB) es una mala idea; la recopilación y la mayor verbosidad del XML le compra muy poco; serializar objetos a través de RMI (que es lo que EJB hará por usted) sería mucho más fácil de implementar, probar y mantener.
Estaba intentando agregar el esquema XML a un proyecto EJB existente. JAXB se utiliza para vincular el XML-Schema a una clase Java. Como vamos a utilizar el motor de búsqueda para rastrear a través de DTO cuando EJB está en sesión.
No pude encontrar ningún enfoque directo para asignar el archivo de clase de entidad a XML-Schema.
La única manera que podríamos lograr hasta ahora es crear los servicios web, generar el WSDL que genera xml-schema (XSD) y luego analizar el archivo XSD a través de JAXB (comando xjc) para crear archivos de clase java. Ahora, usando el archivo mapping-binding.xml, podemos mapear el archivo de clase XML y Java.
Pero ahora, de nuevo, el problema es cómo asignar esto a la clase de entidad.
Esto es lo que queremos lograr:
- Objeto de datos XML con esquema XML (Esto ya está presente en la especificación JAXB).
- Entity Bean luego se extiende o tiene una interfaz para este objeto JAXB.
- Todas las funciones de persistencia son administradas por Entity Bean ...
- El Entity Bean contendría entonces las funciones XML Marshalling y UnMarshalling encontradas en JAXB ..
- Un Objeto de Valor podría ser recuperado en forma binaria o XML del Objeto Bean de la Entidad.
- Un JSP podría extraer fácilmente el Esquema XML y los Datos XML del Objeto de valor y realizar operaciones en él, como las transformaciones XSL.
Mi argumento es que los Beans de Entity no tienen una forma estándar para interactuar con objetos JAXB.
Castor puede ser la solución, pero nuevamente tenemos que implementar servicios web o usar castor JDO.
Encontré que XStream es bastante útil ya que usa una clase de convertidor en la que puede llamar a los objetos de la clase entity bean y generar un archivo xml. Pero no prefería usar otra clase, sino incorporar las funciones en la clase de bean existente.
¿Me pueden ayudar en este sentido?
Te diré lo que en realidad estoy tratando de lograr. Estoy creando un motor de búsqueda que se invocará durante el EJB en sesión y usaré el rastreador a través de los DTO y obtendré la instantánea en formato XML. La búsqueda estará en diferentes criterios.
Lucene es una de las herramientas del motor de búsqueda, pero luego usa sus propias propiedades y archivos (actuará más como independiente)
Ya tengo DTO que son utilizados por los servicios web para comunicarse entre la aplicación PHP y Java (capa EJB). Quería volver a utilizar esos DTO en jaxb como rastreador para obtener el resultado de las tablas en XML, lo que no puedo hacer ya que JAXB usa sus propias clases generadas a través de xml-schema. Como dijo, todavía no he encontrado una forma de instruir a JAXB sobre las clases de bean.
EclipseLink JAXB (MOXy) se puede usar para asignar entidades JPA a XML.
Para más información, ver: