欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

SpringDataJPA也能寫sql,為什么還要用mybatis?

林國瑞2年前15瀏覽0評論

頭條上問這種問題也是醉了。。看到了順便答一波,瞎扯的人太多。

國內(nèi)的設(shè)計思路是tabledriven的,簡單來說,用數(shù)據(jù)表定邏輯,用模型做實現(xiàn),實際這是和面向?qū)ο笙喾吹乃悸贰ybatis所謂的靈活性在大多數(shù)工程師手里就是不用考慮模型如何設(shè)計,“反正我用原生sql都能解決”,模型設(shè)計的爛的一逼,全靠sql去修修補補。而jpa是完全objectdriven的思路,前期設(shè)計的缺陷會很制約后續(xù)開發(fā),并且不同的數(shù)據(jù)庫可做不同的實現(xiàn)(實際是哪怕是redis也是一樣的)。回答幾個常見sb問題。

1.jpa表連接行為不確定,難以控制。

你確定你用過springdatajpa?不知道有EntityGraph?傻瓜到這種程度了還能咋的。

2.jpa子查詢不好實現(xiàn)。

我估計你都沒用過吧?springdatajpa的子查詢既可以單獨定義視圖,也可以做subquery,甚至直接用jpql。

3.jpa不好優(yōu)化。

我真不信99%得優(yōu)化能超過springdatajpa的優(yōu)化,尤其是一般般的程序員能別把優(yōu)化放嘴上么,連mysql的鎖都搞不清楚,表設(shè)計的跟坨屎一樣還天天原生sql,覺得自己很牛逼么?jpa是可以把表屬性反應(yīng)到對象的,天然就有運行時優(yōu)化的底子在,ORM能發(fā)展的空間太大了,稍微有點技術(shù)認(rèn)知的都知道ORM會優(yōu)勢越來越大。稍微有些經(jīng)歷的程序員都知道現(xiàn)在是先說好維護才說其他的,能解決性能的方法太多了好么。

最后,難道不知道現(xiàn)在提倡ORM+CQRS么?請問,有啥復(fù)雜的解決不了,都不需要nativesql介入好么。