Не удается найти способ получить все столбцы из сгенерированного QClass.
Как я могу определить в методе выбора все столбцы foo (в действительности их много)?
build. gradle:
...
ext {
queryDslVersion = '4.2.2'
javaxAnnotationVersion = '1.3.2'
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-webflux')
compile "com.querydsl:querydsl-sql:${queryDslVersion}"
compileOnly('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
annotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}:general")
annotationProcessor("javax.annotation:javax.annotation-api:${javaxAnnotationVersion}")
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
testImplementation('io.projectreactor:reactor-test')
}
idea {
module {
sourceDirs += file('generated/')
generatedSourceDirs += file('generated/')
}
}
Попробуйте составить запрос:
var query = new SQLQuery<>(PostgreSQLTemplates.builder().printSchema().build());
query.select(foo) // foo has no all() or list() methods, nothing found that might be related to listing allcolumns
.from(foo)
...
Foo entity:
@Data
@Table
@QueryEntity
public class Foo {
@Id
private UUID id;
private String name;
...
}
Генерируемый QFoo:
/**
* QFoo is a Querydsl query type for Foo
*/
@Generated("com.querydsl.codegen.EntitySerializer")
public class QFoo extends EntityPathBase<Foo> {
private static final long serialVersionUID = -657824049L;
public static final QFoo foo = new QFoo("foo");
public final StringPath name = createString("name");
public final ComparablePath<java.util.UUID> id = createComparable("id", java.util.UUID.class);
...
public QFoo(String variable) {
super(Foo.class, forVariable(variable));
}
public QFoo(Path<? extends Foo> path) {
super(path.getType(), path.getMetadata());
}
public QFoo(PathMetadata metadata) {
super(Foo.class, metadata);
}
}