Wrong table name

32 views
Skip to first unread message

Timon K

unread,
Jan 19, 2021, 9:23:01 AM1/19/21
to Querydsl
My code
SQLQueryFactory queryFactory = HibernateUtilities.getSqlQueryFactory();
QRepairsOrderV repairs_order_v = new QRepairsOrderV("repairs_order_v");
QRepairsAutoV repairs_auto_v = new QRepairsAutoV("repairs_auto_v");
QRepairsCardatabase repairs_cardatabase = new QRepairsCardatabase("repairs_cardatabase");
QFleetDealers fleet_dealers = new QFleetDealers("fleet_dealers");
QCar car = new QCar("cars@cardb_dblink");
PathBuilder<Car> cr = new PathBuilder<>(Car.class, "cr");

SQLQuery<UniqueVinRow> query = queryFactory.select(Projections.constructor(UniqueVinRow.class, repairs_order_v.dealer_code,
HibernateUtilities.TO_CHAR(repairs_order_v.order_payment_date, "MM-YYYY"),
repairs_auto_v.vin, repairs_cardatabase.car_model, repairs_cardatabase.myear, repairs_cardatabase.saledate,
cr.getDate("delivery_customer_date", Date.class)))
.from(repairs_order_v)
.innerJoin(repairs_auto_v).on(repairs_order_v.id.eq(repairs_auto_v.order_id))
.innerJoin(repairs_cardatabase).on(repairs_cardatabase.vin.eq(repairs_auto_v.vin))
.leftJoin(car, cr).on(repairs_auto_v.vin.eq(cr.get("vin")))
.where(repairs_order_v.order_status.eq("P"))
.distinct();

SQL I get
select distinct repairs_order_v.dealer_code, to_char(repairs_order_v.order_payment_date,'MM-YYYY'), repairs_auto_v.vin, repairs_cardatabase.car_model, repairs_cardatabase.myear, repairs_cardatabase.saledate, cr.delivery_customer_date
from repairs_order_v
inner join repairs_auto_v
on repairs_order_v.id = repairs_auto_v.order_id
inner join repairs_cardatabase
on repairs_cardatabase.vin = repairs_auto_v.vin
left join "cars@cardb_dblink" cr
on repairs_auto_v.vin = cr.vin
where repairs_order_v.order_status = ?

Why cars@cardb_dblink is quoted?? Also rowid is quoted unless a string Template 
is used. All is fine without them.  This unnecessary functionality breaks everything. How can I switch it off? 

Reply all
Reply to author
Forward
0 new messages