pom配置插件单独用一个都没问题 两个都要用的话怎么同时识别entity和document注解呢
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.morphia.MorphiaAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
插件咋不一样- - 我这这样配上去显示重复插件
Querydsl 是一个功能强大的 Java 框架,可以生成类型安全的查询语句,以支持不同数据存储技术。如果需要同时生成 Mongo 和 MySQL 的 Q 类,则需要使用两个不同的插件来实现。
在 pom.xml 中配置如下:
<build>
<plugins>
<!-- 生成 Mongo 的 Q 类 -->
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-querydsl-mongodb-plugin</artifactId>
<version>3.7.2</version>
<executions>
<execution>
<goals>
<goal>mongodb</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 生成 MySQL 的 Q 类 -->
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-querydsl-jpa-plugin</artifactId>
<version>3.7.2</version>
<executions>
<execution>
<goals>
<goal>jpa</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
两个插件都是通过识别实体注解来生成 Q 类的,而实体注解是不同的,Mongo 是使用 @Document,而 JPA 是使用 @Entity。因此,在实体类中需要同时使用两种注解,以确保同时生成 Mongo 和 MySQL 的 Q 类。
例如:
@Document
@Entity
public class MyEntity {
// 实体内容
}