我们的SQL是这样写的:
tring onHql = "select count(distinct stb." + EntityStb.P_Id + ") " + " from "
+ EntityStbOnlineEvent.ENTITY_NAME + " onlineevent" +" join onlineevent."+EntityStbOnlineEvent.P_EntityStb+" stb join stb."+EntityStb.P_EntityRltStbUserdefineGroups+" rltgroup join rltgroup."+EntityRltStbUserdefineGroup.P_EntityStbUserdefineGroup+" stbgroup"
+" where (onlineevent." + EntityStbOnlineEvent.P_Ontime+" between :starttime and :endtime "
+" or onlineevent."+EntityStbOnlineEvent.P_Offtime+" between :starttime and :endtime "
+"or (onlineevent."+EntityStbOnlineEvent.P_Ontime+" <=:starttime and (onlineevent."+EntityStbOnlineEvent.P_Offtime+">=:endtime or onlineevent."
+ EntityStbOnlineEvent.P_Offtime+" is null)))"
+"and stbgroup."+EntityStbUserdefineGroup.P_Id+"=:groupid)";
想请教下各位高手,它这样规定的动机是什么?有什么好处?为什么不用传统的SQL?
希望高手给个形象点的回答,最好举个例子啥的。小弟在这里谢谢大家了~
6 个解决方案
#1
不形象 加深自己的oo的理解咯
#2
面向对象。
#3
比直接写SQL要跨平台(数据库产品)一些。
#4
你这乱八七糟的是 JPQL 么?
这个才是:
这个才是:
SELECT new com.test.server.entity.Goods(t.id, t.name, t.hotScore, t.imgUrl)
FROM Goods t
WHERE t.startTime <= :current
AND t.endTime > :current
AND t.goodsCategory.id = :cateId
ORDER BY t.hotScore DESC, t.id DESC
#5
所谓面象对象编程...直接把表当作一个对象,表中的字段当成对象中的属性
#6
深刻理解面向对象的概念。。。就明白为什么了
#1
不形象 加深自己的oo的理解咯
#2
面向对象。
#3
比直接写SQL要跨平台(数据库产品)一些。
#4
你这乱八七糟的是 JPQL 么?
这个才是:
这个才是:
SELECT new com.test.server.entity.Goods(t.id, t.name, t.hotScore, t.imgUrl)
FROM Goods t
WHERE t.startTime <= :current
AND t.endTime > :current
AND t.goodsCategory.id = :cateId
ORDER BY t.hotScore DESC, t.id DESC
#5
所谓面象对象编程...直接把表当作一个对象,表中的字段当成对象中的属性
#6
深刻理解面向对象的概念。。。就明白为什么了