Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Talk:EclipseLink/Development/AdditionalCriteria"

Line 12: Line 12:
  
  
 +
 +
***
  
 
I think that for the first phase the JPQL fragment has to be limited to a few simple rules.  Any thing beyond should be left as an enhancement.  My thoughts are that for phase one the following rules should be true:
 
I think that for the first phase the JPQL fragment has to be limited to a few simple rules.  Any thing beyond should be left as an enhancement.  My thoughts are that for phase one the following rules should be true:
Line 37: Line 39:
 
   IS EMPTY  
 
   IS EMPTY  
 
   IS NOT EMPTY
 
   IS NOT EMPTY
 +
:[[User:Peter.Krogh.oracle.com|Peter.Krogh.oracle.com]]

Revision as of 15:27, 20 September 2010

The AdditionalCriteria maps to EclipseLink's existing descriptor additionalJoinExpression. The AdditionalCriteriaGroup and Callback and naming and enabled options are new functionality. Some insight into their requirement, usage, design and implementation in the runtime would be useful.

James.sutherland.oracle.com 19:11, 20 September 2010 (UTC)

The callback seems quite complex, and uses reflection. Some similar to our DescriptorCustomizer and SessionCustomizer may be simpler. We could have a QueryCustomizer interface that takes a DatabaseQuery before execution and allows the user to customizes it. Or the existing SessionEventListener could be used.

James.sutherland.oracle.com 19:19, 20 September 2010 (UTC)

What is the context for the JPQL string, i.e. alias? Additional join expressions are normally table/field level. Will support be added to our JPQL support to allow referencing database fields/tables?

James.sutherland.oracle.com 19:24, 20 September 2010 (UTC)


I think that for the first phase the JPQL fragment has to be limited to a few simple rules. Any thing beyond should be left as an enhancement. My thoughts are that for phase one the following rules should be true:

two types of fragments will be supported:

1. leftSide comparator rightSide

 -where leftSide is a mapping, (eg firstname, or address.city)
 -comparator should be limited to these:
   =   // equal
   <>  // not equal
   !=  // not equal
   <   // less than
   <=  // less than or equal
   >   // greater than
   >=  // greater than or equal
   LIKE // like
  -rightSide is a litteral or a named argument (identified by starting with ':')

2. leftSide comparison

 -where leftSide is a mapping, (eg firstname, or address.city)
 -comparison is limited to:
  IS NULL
  IS NOT NULL
  IS EMPTY 
  IS NOT EMPTY
Peter.Krogh.oracle.com

Back to the top