使用QueryDSL我会创建如下的查询:
select * from cats as C join owners as O on ...
出于可读性的原因,我会使用别名" O"在join子句中,但DSL似乎不支持这个:
query.from(cats.as("C")).join(owners.as("O")).on(...)
owners.as("O")
的类型与join子句所期望的类型不兼容。
你有什么想法吗?
答案 0 :(得分:6)
好的,您可以使用别名创建它,而不是使用表的自动生成的静态实例:
Cat cat = new Cat("C");
Owner owner = new Owner("O");
query.from(cats).join(owners).on(...)
答案 1 :(得分:0)
您可以在Querydsl中使用Alias,如
import { Injectable } from '@angular/core';
import { Product } from './product';
@Injectable()
export class ProductService {
private products: Product[] = [
new Product('10', 'schezwan rice', 'with schezwan sauce tasty', 'http://www.foodinnrestaurant.com/images/stories/virtuemart/product/prodt_328.jpg'),
Product('11', 'Summer salad', 'looks tasty and healthy', 'http://images.media- allrecipes.com/userphotos/250x250/00/39/70/397065.jpg')
];
constructor() { }
getProducts() {
return this.products;
}
}