00:00
咱来搞一搞JPQL的这个关联查询,我们看到了什么呀,Left out drive。Inner left auto DR fge,所以说它跟halet那个关联查询一样一样的。OK,通过代码来说,首先呢,写一个测试方法,Left out join。CH,我们撤这个leftotch,把这个搞明的话,把这个搞明白的话,那个inner fetch是不一样啊。所以说那个就不说了哈,拿这个来说事,String j PQ等于from CI card等于问号。然后呢,我要得到一个卡通对象,等于。
01:03
N manager点。Create。Query传入JPQL。点setter,一,这个呢,我写为12,点get single result。相转,为什么写为12呢?因为我这个12有order,看见了吧,如果你要是写为一的话,这个一没有关联的order,所以说我写了一个12,好了,我做一个打印customer.get。Name代码找一下看看效果。我要求他测试通过,同时看circle,大家看是不是只查了customer啊,没有去查order吧?那这个时候如果我要是需要那个order,它就怎么办?customer.get order.set需要它的话,它就得再发一条色。
02:08
看结果,走起。你看看。是不是又发了一条circle啊?诶,我们希望一条鱼就搞定,可以吗?使用什么?Left out fetch car orders,这就可以了,一条语句可以拿到这两个结果。再看结果。一条语句吧。LA out,两个都搞定了,跟我们harlet里边讲的那个关联查询是一样的。说呀,JPQL的关联查询。同HQL的关联查询,我来问大家一个问题,我如果把这个去掉的话,它会怎么样,会怎么样?
03:13
应该会出错吧,对吧。走一个看看效果。哎,出错了,我们看一下这个啊。SQ语句,我把这个SQL语句拿过来拷到这个里边,看一下这个结果。12。走。你看我是不是返回了三条记录啊,我要是返回三条记录的话,如果这么查的话,他应该返回。一个object类型的list。为什么呢?三条记录,每一条记录是一个object数组。是吧,每一条记录是一个object类型的数组,那么三条记录的话,不就是object数组的一个list吗?所以说这个时候这个事儿挺麻烦的,你要是不加F的话。
04:08
我们来做一个简单的说明。需要这么写,Result等于。Nity manager create query。接PQL点。复制过来吧,CTRLC。方法不对。Get result list,看一下结果。是吧,哎,这个也跟我们前面HQL讲关联查询那个一样吧,所以说。要想进行。
05:00
关联查询的话,建议大家把这个fetch加上,这样的话得到的将是一个对象,而且这个对象的集合已经初始化成功了,这是我们非常愿意看到的。这个时候怎么样了?这个结果相对于刚才那个结果而言,挂巴上是吧?过来,诶,怎么叫高大上呢?你看它返回的是一个cut对象,而这个返回的是一个object数组的一个list,很显然,这个处理起来更具有难度。我们讲happiness的时候呢,说过。它不但是返回这样的一个对象,实际上就是object,那就就是每一个object的数组是由卡跟al组成的,更要命的是卡ma的那个al集合还没有被初始化,是这样吧?好的,这就是我们讲的这个JPQL的关联查询。
06:04
你就知道它跟harnet那个HQL的关联查询差不多就可以了。
我来说两句