本文目錄一覽:
java中orm是什麼?
對象關係映射(Object Relational Mapping,簡稱ORM)是一種為了解決面向對象與關係數據庫存在的互不匹配的現象的技術。
簡單的說,ORM是通過使用描述對象和數據庫之間映射的元數據,將java程序中的對象自動持久化到關係數據庫中。本質上就是將數據從一種形式轉換到另外一種形式。
為什麼 Java 沒有好用的 ORM 框架?
因為語言特性的關係,動態語言天生就比靜態語言更加適合干ORM這件事,目前ORM里最流行的Active Record和鏈式調用模式,最早就來源Ruby on Rail,PHP的laravel,python的Django,都是跟着學過來的而已。
一個高度靈活的ORM需要的語言特性有類型推導,lambda表達式等等,這些特性早期java是沒有的。最近的幾個版本才加上。
所以這限制了java這邊的ORM的能力發揮。你可以觀察到像Hibernate和基於它實現的spring data jpa,在靈活性是是遠不如一些動態語言實現的ORM的。
最後就是,我個人認為,某些思想限制住了java系的ORM發展,比如spring data jpa主推的條件查詢居然是「用方法名稱映射查詢語句」這種極其不方便的方式,Example系的鏈式調用方式不是首選,而且存在諸多限制。
不過自從java8之後,也出現了一些大量使用動態語言特性的ORM,基本上已經追平了動態語言系的ORM,比如JOOQ(要收費),ebean ROM(具備響應式能力的ORM,不過我更看重的是它的sql映射能力),mybatis-plus(mybatis增強,國人項目,除了聯表還是得寫sql,實現了對單表的任意crud可以不寫額外代碼,這點確實厲害)。
java里orm的三個框架叫什麼
orm並不是指的三個框架,orm翻譯過來叫對象關係映射,涉及到對象和數據庫表的映射的所有框架都是orm框架,這一類框架主要用於將對象持久化到數據庫,比如hibernate框架就是orm框架,
java有哪些簡潔的ORM框架?
java簡潔的ROM框架太多了,並且每天都在更新迭代,從一下幾方面總結。
1、整合數據庫的orm框架:Mybatis(batis)、Hibernate、Jpa、Jdo等。
2、緩存以及分佈式緩存:Ecache、Memcached、Redis等。
3、web框架:WebWok、Struts2、SpringMvc等。
4、遠程調用的相關的服務框架:dubbo、webService等。
4、其他大大小小,在各領域發揮的有很多,如日誌處理Log4J、sj4j,xml處理dom4j等等數不勝數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304897.html