使用QueryDSL Projections.bean进行嵌套类

我正在使用QueryDSL将我的查询映射到我的Beans:

QAmbiente qitem=new QAmbiente("x");
SQLTemplates template = new MySQLTemplates(); // SQL-dialect
Configuration configuration = new Configuration(template); 
SQLQuery query = new SQLQuery(conn, configuration);
List<Ambiente> items = query.from(qitem).list(Projections.fields(Ambiente.class, qitem.idEmpresa));

我的问题是我有主键的嵌套类,如下所示:

@EmbeddedId
protected AmbientePK ambientePK;

然后当我尝试执行上面的代码时,会抛出一个错误:

The bean of type: br.com.fitsoft.cnfe.model.domain.Ambiente has no property called: idEmpresa

只有当我放置一个属于我的主键的字段时才会出现此问题.

有人可以帮我吗?
谢谢

最佳答案 做这个:

.list(Projections.bean(ItemNotaFiscal.class,
    i.aliqCofinsReal.as("aliqCofinsReal"),
    i.aliqPisPerc.as("aliqPisPerc"),
    Projections.bean(Qpk, 
            i.ambientePK.idEmpresa
    ).as("ambientePK")
));
点赞