我只是在尝试使用spring boot数据jpa以及Azure CosmosDB和query dsl进行POC。我的pom插件。xml在我使用com时是这样的。querydsl。apt.jpa。JPA注释处理器(AnnotationProcessor)本应使用实体(Entity)注释来扫描文件,但在我的情况下,实体类使用容器(Container)而不是实体(Entity)注释,因此querdsl无法生成Q文件。我想知道有没有一种方法可以用带注释的类来实现这一点?插入pom。xml
4.0.0组织。springframework。boot spring boot starter父代2.5.6 com。Spring Boot配置分页和筛选0.0.1-SNAPSHOT分页和筛选演示项目
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/com.querydsl/querydsl-jpa -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.querydsl/querydsl-apt -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private Integer age;
private String profession;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getProfession() {
return profession;
}
public void setProfession(String profession) {
this.profession = profession;
}
}
根据文档,您可以使用两个选项来实现这一点:
选项1:<代码>查询SL。未知可嵌入
设置未知的非注释类应被视为可嵌入的位置(默认值:false)
https://querydsl.com/static/querydsl/3.1.2.BUILD/reference/html/ch03s03.html
用法示例:
<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>
<options>
<querydsl.entityAccessors>true</querydsl.entityAccessors>
<querydsl.listAccessors>false</querydsl.listAccessors>
<querydsl.useGetters>true</querydsl.useGetters>
<querydsl.unknownAsEmbeddable>true</querydsl.unknownAsEmbeddable>
</options>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</dependency>
</dependencies>
</plugin>
选项2:使用QueryEntities(ClassWithContainerAnnotation.class)
https://querydsl.com/static/querydsl/4.4.0/apidocs/com/querydsl/core/annotations/QueryEntities.html
示例包信息。Java语言
@com.querydsl.core.annotations.QueryEntities({com.onescorpin.jpa.AbstractAuditedEntity.class, com.onescorpin.jpa.AbstractAuditedEntityAsMillis.class})
package com.onescorpin.metadata;
裁判:https://github.com/wcandy0088/nova/blob/master/nova-new1/core/operational-metadata/operational-metadata-jpa/src/main/java/com/onescorpin/metadata/package-info.java
我需要对照我的模式来验证Class object,在我的模式中,我提供了正则表达式来验证自动生成的JAXB类的字段。当我尝试验证我的类对象时,我得到以下错误: 我还有别的办法可以解决吗?
我设法通过.proto文件生成了类,但它们在构建中。 我希望在main中生成类,因为当我要扩展存根时,不可能实现这些方法。 瞧: 文件.proto: proto文件在主文件夹中。 有人知道怎么解决吗?
我不明白Liquibase到底有什么问题,因为路径指定正确 应用yml文件: 编辑1项目结构 使用编译的类编辑2个文件夹
这过去适用于所有以前版本的JAXB。我已经升级到JAXB的2.2.7版本,现在抛出以下内容: java.lang.AssertionError:javax.xml.bind.jaxBException-带有链接异常:[com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1 counts of IllegalAnnotat
这是控制台:我搜索了overstack,但我只是添加了spring-boot-starter-data-jpa。 在此输入图像说明**
我试图为我的项目设置配置位置,但我一直得到以下错误: java.io。FileNotFoundException:无法打开类路径资源[main/resources/app context.xml],因为它不存在 我的项目设置如下: 我将我的代码设置为: 我该怎么解决这个问题?