加拿大华人论坛 德国工作一道senior面试题,求Java大神乱入
在加拿大
碰到一道senior的面试题,不知道怎么解决,求Java大神指点一下,谢谢了!
用jpa查询某个表,表中除了该entity的属性之外,还有非该entity属性的字段,这种情况下,如何用jpa查询返回对应该字段的entity?
举个例子说明可能更清楚一点:
有一个表如下(entity) freightrate
id ratestatus origin transportmode ........ lastchangeby
283862 1 North Europe Air Jack
283863 4 USA FLC Oelle
283864 2 Frankfurt LCL Admin
283865 3 Sydney Air Pre Oelle
283866 0 Boston LCL n/a
.
其中 id, ratestatus, origin, transportmode 都是属性,可以直接用jpa查询,而lastchangeby 不是entity 属性,现在如何用jpa查询返回 lastchangeby 为 oelle 的 freightrate 对象?
用jpql 和 criteria 都可以,不限制,要求效率高一些
评论
调用activeJPA。
评论
这就是所谓的fucked up题嘛。我面试的时候也没有很好的答出来,被题目本身带到思维的小巷子里面去了。
为什么jpa没有定义lastchangeby为属性,那是因为商业逻辑不使用。
要查询最后是谁修改的基本是责任问题,这个时候就不要什么jpa啊,直接去jpa出ID以后live的数据库查询,知道是谁改的,要通知,询问他就好办。这种事情都是玩大了才会有的,使用jpa不一定顺利的时候首先应该考虑事件的时间限制,找出ID,通知有查询live数据库权限的人员。还什么jpql,直接sql了。
要是还要用jpql citeria,再mvn个十几分钟,那还搞屁啊。
·加拿大新闻 莲花发布新款电动车型 强调驾控基因
·加拿大新闻 10万级纯电家轿比拼,哪款更适合顾家
·加拿大新闻 卖人血赚钱?!加拿大全民献血竟成生意!捐献者愤怒发声,献
·加拿大新闻 女童遭多次性侵殴打死亡威胁!罪犯是原住民就轻判!司法公正
·加拿大新闻 黄先生以为租客温文岂料经营非法短租 无辜被罚近万元
·生活百科 从9月15日起,将在澳大利亚申请中国签证吗?
·中文新闻 唐纳德·特朗普(Donald Trump):联合国讲话后转移乌克兰战争