gert-wijns / TypeSafeQueryBuilder

Compile time assistence while creating queries, making them more type safe and easier to refactor
6 stars 8 forks source link

Join with create createAdditionalJoin create an extra inner join #106

Open borisvereertbrugghen opened 2 years ago

borisvereertbrugghen commented 2 years ago

when you add createAdditionalJoin during the join we always get an default join even if it is not used... { PrlTypeSafeRootQuery q = typeSafeQueryDao.createQuery(); Partner from = q.from(Partner.class); PartnerProperty props = q.join(from.getProperties(),be.shad.tsqb.query.JoinType.Left,true);

        q.selectValue(props.getPropertyValue());
        typeSafeQueryDao.doQuery(q);

HQL select hobj3.propertyValue from net.pearlchain.domain.masterdata.Partner hobj1 join hobj1.properties hobj2 left join hobj1.properties hobj3 SQL select properties2_.PropertyValue as col_00 from Partner partner0 **inner join PartnerProperty properties1 on partner0.Id=properties1.PartnerId** left outer join PartnerProperty properties2 on partner0.Id=properties2_.PartnerId } vs not using true { PrlTypeSafeRootQuery q = typeSafeQueryDao.createQuery(); Partner from = q.from(Partner.class); PartnerProperty props = q.join(from.getProperties(),be.shad.tsqb.query.JoinType.Left);

        q.selectValue(props.getPropertyValue());
        typeSafeQueryDao.doQuery(q);

HQL select hobj2.propertyValue from net.pearlchain.domain.masterdata.Partner hobj1 left join hobj1.properties hobj2 SQL select properties1_.PropertyValue as col_00 from Partner partner0 left outer join PartnerProperty properties1 on partner0.Id=properties1.PartnerId

    }
borisvereertbrugghen commented 2 years ago

v 3.3.0