Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » QueryHints.LEFT_FETCH not working
QueryHints.LEFT_FETCH not working [message #778376] Thu, 12 January 2012 11:34
Jonathan Jones is currently offline Jonathan Jones
Messages: 4
Registered: January 2012
Junior Member
First of all apologies if this has been posted before or its in the wrong place. I have had a good trawl through these forums but cant seem to solve it.

INFO: EclipseLink, version: Eclipse Persistence Services - 2.3.0.v20110604-r9504
INFO: Running GlassFish Version: GlassFish Server Open Source Edition 3.1.1 (build 12)

Here is my scenario

@Entity
public class ObjectA{
        /.......... other code ........./
        private Integer subvalueid;
        private String textvalue;

	@OneToOne(optional=true,fetch=FetchType.EAGER)
	@JoinColumn(name="subvalueid",unique=true,nullable=false,updatable=false,insertable=false)
	private ObjectB subvalue;
}

@Entity
public class ObjectB{
        /.......... other code ........./
       private Integer id;
       private String description;
}

Query query = entityManager.createQuery("SELECT A FROM ObjectA a WHERE a.textvalue = :val1 OR a.subvalue.description = :val2");
query.setHint(QueryHints.LEFT_FETCH, "a.subvalue");
query.setParameter("val1", "/..something ../");
query.setParameter("val2", "/..something ../");
query.getResultList();



My query produces
SELECT /*lots of fields*/ FROM ObjectA a, ObjectB b WHERE ((a.textvalue = ? OR (b.description) = ?) AND (b.ID = a.subvalueid))

b.ID = a.subvalueid means that only records where there is a match between the relationship are returned.

I want to try and enforce the query to produce a LEFT JOIN so that it includes records in table / ObjectA even if there is no entry in table / ObjectB

I have tried allsorts of QueryHints and JOIN FETCH on the query but am having no such look.

Any help is greatly appreciated.

Many thanks in advance

Jonathan Jones
Previous Topic:Re: Query field created by the @OrderColumn
Next Topic:automatic persist without cascade, persist replacing entity
Goto Forum:
  


Current Time: Mon Apr 21 03:21:42 EDT 2014

Powered by FUDForum. Page generated in 0.01426 seconds