一道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个十几分钟,那还搞屁啊。
页:
[1]