通过没有persistence.xml的maven生成JPA 2.0元模型?

Chr*_*ger 6 spring jpa persistence.xml metamodel

有没有办法通过maven生成JPA 2.0元模型而没有persistence.xml文件.我正在使用eclipselink.

在我的Java EE项目中,我正在做类似以下的工作,因为在这种情况下我有一个persistence.xml.

<plugin>
    <groupId>org.bsc.maven</groupId>
    <artifactId>maven-processor-plugin</artifactId>
    <version>2.0.5</version>
    <executions>
        <execution>
            <id>process</id>
            <goals>
                <goal>process</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
                <!-- there must no line break between the two compiler arguments! -->
                <compilerArguments>-Aeclipselink.persistencexml=${basedir}/src/main/resources/META-INF/persistence.xml</compilerArguments>
                <processors>
                    <processor>org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor</processor>
                </processors>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>javax.persistence</artifactId>
            <version>2.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.modelgen</artifactId>
            <version>2.3.2</version>
        </dependency>
    </dependencies>
</plugin>
Run Code Online (Sandbox Code Playgroud)

现在我有一个spring项目,它通过spring上下文配置jpa.是创建元模型以创建persistence.xml的唯一方法,还是我可以在spring上下文中保留配置?

tes*_*123 0

通过以下示例,您不需要 persistence.xml 并且可以“保留 spring 上下文中的配置”,如下所示:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="com.sample.company" />
    <property name="jpaPropertyMap">
        <map>
            <entry key="eclipselink.weaving" value="false"/>
            <entry key="eclipselink.jpa.uppercase-column-names" value="true"/>
            <entry key="eclipselink.ddl-generation" value="create-tables"/>
        </map>
    </property>
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter" >
            <property name="databasePlatform" value="org.eclipse.persistence.platform.database.HSQLPlatform" />
            <property name="generateDdl" value="true" />
            <property name="showSql" value="true" />
        </bean>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

packagesToScan:在哪里查找 @Entity 和其他 JPA 注释

jpaPropertyMap:您之前放入 persistence.xml 中的设置