首先,我是QueryDSL的新手.
我正在使用Spring + Hibernate环境.
我面临的问题是构建GenericDAO来实现所有基本的CRUD操作,但我不知道如何从QEntity获取静态引用.
我的实体类结构如下所示:
@Entity //jpa
public class Entity extends AbstractEntity{
//fields
...
}
public abstract class AbstractEntity{
//Logger
}
Run Code Online (Sandbox Code Playgroud)
QueryDSL生成的实体的基本结构
public class QEntity extends PEntity<Entity>{
...
public static final QEntity entity = new QEntity("entity");
...
//constructors
}
Run Code Online (Sandbox Code Playgroud)
GenericDao看起来像这样:
public class abstract GenericDao<T extends AbstractEntity, K extends PEntity<? extends AbstractEntity>>{
//some kind of method to get the K.k (QEntity.entity) reference.
//CRUD operations using T and K
}
Run Code Online (Sandbox Code Playgroud)
一种方法是使用Reflection,但我不是使用该方法的倡导者,尤其是在这种情况下.
另一件我不确定的事情是,是否必须使用QEntity中的静态引用来构建查询,或者如果我进行构造函数调用以获取新对象,则可以.另外,构造函数参数中的String表示什么?
public QEntity(String variable) {
this(Entity.class, forVariable(variable), INITS);
}
Run Code Online (Sandbox Code Playgroud)