Could you copy all the relevant code so that I can write this up as an faq
?
On 28 Jan 2016 17:17, "Willie Loyd Tandingan"
wrote:
> It worked! "datanucleus.query.jdoql.{varName}.join" had to be set to
> OUTERJOIN for both pt and t. Thanks!
>
> On Sun, Jan 24, 2016 at
It worked! "datanucleus.query.jdoql.{varName}.join" had to be set to
OUTERJOIN for both pt and t. Thanks!
On Sun, Jan 24, 2016 at 2:45 AM, Willie Loyd Tandingan <
tandingan@gmail.com> wrote:
> I'm gonna try that one back at work next week. Thanks!
>
> Admittedly, I thought of that one before
The setup was as follows:
final Query query = getJdoPersistenceManager().newQuery(Employee.class);
query.setResult("this, p");
query.setResultClass(EmployeePayslipTemplate.class);
query.setFilter("ept.employee == this && ept.payslipTemplate == p");
Very elegant, nice!
On 28 January 2016 at 18:55, Willie Loyd Tandingan
wrote:
> The setup was as follows:
>
> final Query query = getJdoPersistenceManager().newQuery(Employee.class);
> query.setResult("this, p");
> query.setResultClass(EmployeePayslipTemplate.class);
>
I'm gonna try that one back at work next week. Thanks!
Admittedly, I thought of that one before but didn't try it out since I
thought it would generate an inner join instead and didn't think of turning
SQL logging on. We tried this erroneous funny query which we thought was
kind of correct but DN
On Friday 22 Jan 2016 19:25:24 Andy Jefferson wrote:
> > > SELECT p.*, t.* FROM Person p
> > > LEFT JOIN PersonTemplate pt ON p.id = pt.personId
> > > LEFT JOIN Template t ON pt.templateId = t.id
> > >
> > > With this query, I can get Persons even if they don't have a Template.
> > Which is what
> The query I'd like to perform is something like:
>
> SELECT p.*, t.* FROM Person p
> LEFT JOIN PersonTemplate pt ON p.id = pt.personId
> LEFT JOIN Template t ON pt.templateId = t.id
>
> With this query, I can get Persons even if they don't have a Template.
Which is what you would do if you
> > SELECT p.*, t.* FROM Person p
> > LEFT JOIN PersonTemplate pt ON p.id = pt.personId
> > LEFT JOIN Template t ON pt.templateId = t.id
> >
> > With this query, I can get Persons even if they don't have a Template.
> Which is what you would do if you followed the example I suggested, using
>
The query I'd like to perform is something like:
SELECT p.*, t.* FROM Person p
LEFT JOIN PersonTemplate pt ON p.id = pt.personId
LEFT JOIN Template t ON pt.templateId = t.id
With this query, I can get Persons even if they don't have a Template.
On Fri, Jan 22, 2016 at 3:05 AM, Andy Jefferson
AFAIK you cannot return two types in a single query with JDOQL
You could contribute the template on the the person class:
@DomainService(nature = NatureOfService.VIEW_CONTRIBUTIONS_ONLY)
public class PersonTemplateContributions {
@Action(semantics = SemanticsOf.SAFE)
> Person
> - String name
>
> Template
> - String name
> - String field1
> - boolean otherBunchOfProperties
>
> PersonTemplate
> - Person person
> - Template template
> I want to query all Persons along with their corresponding Template
> through PersonTemplate.
> Adding the Template property