Object Query

Basic operation implemetation status

FeatureEngineJPAJDOHibernateOrientDB
select1.0.01.0.01.0.01.0.01.0.0
insert2.0.0kokoko2.0.0
update2.0.02.0.0ko2.0.02.0.0
delete2.0.02.0.0ko2.0.02.0.0

Implementations Status Grid

FeatureEngineJPAJDOHibernateOrientDB
General ConditionSimpleeqquery.eq(target.getName(),"name")1.0.01.0.01.0.01.0.01.0.0
notEqquery.notEq(target.getName(),"name")
gtquery.gt(target.getAge(),20)
gtEqquery.gtEq(target.getAge(),20)
ltquery.lt(target.getAge(),20)
ltEqquery.ltEq(target.getAge(),20)
inquery.in(target.getAge(),collection)
notInquery.notIn(target.getAge(),collection)
containsquery.contains(target.getAge(),collection)
notContainsquery.notContains(target.getAge(),collection)
likequery.like(target.getAge(),likeStrin)
notLikequery.notLike(target.getAge(),likeString)
likeNoCasequery.likeNc(target.getAge(),likeString)
notLikeNoCasequery.notLikeNc(target.getAge(),likeString)
groupANDquery.and()1.0.01.0.01.0.01.0.01.0.0
ORquery.or()
Insertset a valuesetquery.set(target.getName(),"the name");2.0.0kokoko2.0.0
Updateset a valuesetquery.set(target.getName(),"the name");2.0.02.0.0ko2.0.02.0.0
Select Projectionsimplequery.prj(target.getName())1.0.01.0.01.0.01.0.01.0.0
maxquery.prj(target.getName(),ProjectionType.MAX)
minquery.prj(target.getName(),ProjectionType.MIN)
countquery.prj(target.getName(),ProjectionType.COUNT)
avgquery.prj(target.getName(),ProjectionType.AVG)
sumquery.prj(target.getName(),ProjectionType.SUM)
OrderASCquery.order(target.getName())1.0.01.0.01.0.01.0.01.0.0
DESCquery.order(target.getName(),OrderType.DESC)
ASC/DESC ProjectionTypequery.order(target.getName(),ProjectionType.COUNT,OrderType.ASC)
Having Group Operationmaxquery.having(target.getAge(),ProjectionType.MAX)1.0.01.0.0ko1.0.0ko
minquery.having(target.getAge(),ProjectionType.MIN)
countquery.having(target.getAge(),ProjectionType.COUNT)
avgquery.having(target.getAge(),ProjectionType.AVG)
sumquery.having(target.getAge(),ProjectionType.SUM)
Having Conditioneqquery.having(target.getAge(),ProjectionType.MAX).eq(10)1.0.0 partial1.0.0partial1.0.0 partial
notEqquery.having(target.getAge(),ProjectionType.MAX).notEq(10)
gtquery.having(target.getAge(),ProjectionType.MAX).gt(20)
gtEqquery.having(target.getAge(),ProjectionType.MAX).gtEq(20)
ltquery.having(target.getAge(),ProjectionType.MAX).lt(20)
ltEqquery.having(target.getAge(),ProjectionType.MAX).ltEq(20)
inkokoko
notIn
contains
notContains
like
notLike
likeNoCase
notLikeNoCase
AND
OR
Joininnerquery.join(Person.class)1.5.0kokokoko
leftquery.join(Person.class,JoinType.LEFT)
rightquery.join(Person.class,JoinType.RIGHT)
outerquery.join(Person.class,JoinType.OUTER)
inner pathquery.join(target.getMom(),Person.class)1.5.01.5.0
left pathquery.join(target.getMom(),Person.class,JoinType.LEFT)
right pathquery.join(target.getMom(),Person.class,JoinType.RIGHT)
outer pathquery.join(target.getMom(),Person.class,JoinType.OUTER)
Can Add Subquery Inprojectionquery.prj(subquery)1.5.0koko1.5.0ko
fromkokoko
conditionquery.eq(target.getMom(),subquery)1.5.01.5.01.5.0
havingquery.having(subquery,ProjectType.MAX)1.5.0koko
orderquery.order(subquery,OrderType.ASC)1.5.0koko
Can Add to A Subqueryprojectionquery.prj(subquery)kokoko
fromkokoko
conditionquery.eq(target.getMom())1.5.01.5.01.5.0
havingquery.having(target.getAge(),ProjectType.MAX)1.5.01.5.01.5.0
orderquery.order(target.getName(),OrderType.ASC)1.5.01.5.01.5.0