Come generare metamodello JPA 2.0?

Nello spirito di sicurezza del tipo associato a CriteriaQuery, JPA 2.0 ha anche un’API per supportare la rappresentazione Metamodel delle quadro.

Qualcuno è a conoscenza di un’implementazione completamente funzionale di questa API (per generare Metamodel invece di creare manualmente le classi metamodel)? Sarebbe fantastico se qualcuno conoscesse anche i passaggi per l’impostazione in Eclipse (presumo che sia semplice come configurare un processore di annotazioni, ma non si sa mai).

EDIT: appena incappato in Hibernate JPA 2 Metamodel Generator . Ma il problema rimane dal momento che non riesco a trovare alcun link per il download per il jar.

EDIT 2: È passato un po ‘di tempo da quando ho fatto questa domanda, ma ho pensato di tornare e aggiungere un link al progetto Hibernate JPA Model Generator su SourceForge

    Sarebbe fantastico se qualcuno conoscesse anche i passaggi per l’impostazione in Eclipse (presumo che sia semplice come configurare un processore di annotazioni, ma non si sa mai)

    Sì. Ecco le implementazioni e le istruzioni per le varie implementazioni di JPA 2.0:

    EclipseLink

    • org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor

    hibernate

    OpenJPA

    DataNucleus


    L’ultima versione di Hibernate è disponibile all’indirizzo:

    Un’implementazione di Hibernate più vecchia è a:

    REVISED (marzo / 2014)

    Per favore, dai un’occhiata a jpa-metamodels-with-maven

    hibernate

    Si consiglia di utilizzare Hibernate.

    ( Non sto giudicando nessuna funzionalità / funzione / usabilità / stabilita su quelle implementazioni e la dichiarazione di cui sopra è focalizzata solo sull’uso di maven che ho costruito ) .

      org.bsc.maven maven-processor-plugin   process  process  generate-sources   org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor       org.hibernate hibernate-jpamodelgen 4.3.4.Final    

    OpenJPA

    OpenJPA sembra richiedere un elemento aggiuntivo true .

      org.bsc.maven maven-processor-plugin   process  process  generate-sources   org.apache.openjpa.persistence.meta.AnnotationProcessor6   true       org.apache.openjpa openjpa 2.3.0    

    EclipseLink

    EclipseLink richiede persistence.xml .

      org.bsc.maven maven-processor-plugin   process  process  generate-sources   org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor       org.eclipse.persistence org.eclipse.persistence.jpa.modelgen.processor 2.5.1    

    ========================================

    Per gli utenti di Apache Maven,

    Seguire la semplice configurazione sembra funzionare. ( con il vecchio plugin per maven-compilatore, aggiornato ) .

              org.hibernate hibernate-jpamodelgen 1.3.0.Final     org.apache.maven.plugins maven-compiler-plugin 2.5.1   1.6 1.6      

    puoi eseguirlo con “mvn compiler: compile”

    AGGIORNARE

    Nota che questo metodo funziona solo con quei vecchi plugin di maven-compiler. Controlla la versione nel codice.

    Il supporto JPA 2.0 di Eclipse tramite Dali (incluso in “Eclipse IDE for JEE Developers”) ha un proprio generatore di metamodelli integrato con Eclipse.

    1. Seleziona il tuo progetto in Package Explorer
    2. Vai a Proprietà -> Finestra di dialogo JPA
    3. Seleziona la cartella sorgente dal gruppo Meticalelel Canon (JPA 2.0)
    4. Fare clic sul pulsante Applica per generare le classi metamodel nella cartella di origine selezionata

    inserisci la descrizione dell'immagine qui

    Questo dovrebbe funzionare su qualsiasi provider JPA in quanto le classi generate sono standard.

    Vedi anche qui .

    Per eclipselink, solo la seguente dipendenza è sufficiente per generare metamodel. Nient’altro è necessario.

       org.eclipse.persistence org.eclipse.persistence.jpa.modelgen.processor 2.5.1 provided  

    Per Hibernate come fornitore che è il più comune IMHO:

    Nel caso di strumenti di compilazione come Gradle, Maven è necessario disporre del jar Hibernate JPA 2 Metamodel Generator nel classpath e nel livello del compilatore> = 1.6, è tutto ciò di cui hai bisogno per creare il progetto e il metamodello verrà generato automaticamente.

    In caso di IDE Eclipse 1. goto Project-> Properties-> Java Compiler-> Annotation Processing e abilitarlo. 2. Espandi Elaborazione annotazione-> Percorso di fabbrica-> Aggiungi jar esterno aggiungi Hibernate JPA 2 Metamodel Generator jar controlla il barattolo appena aggiunto e conferma OK. Pulisci e costruisci fatto!

    Link Hibernate JPA 2 Metamodel Generator jar link da maven repo https://mvnrepository.com/artifact/org.hibernate/hibernate-jpamodelgen