本文目錄一覽:
- 1、國外 java 用什麼 orm
- 2、在java中orm全文是什麼
- 3、java里orm的三個框架叫什麼
- 4、java有哪些簡潔的ORM框架?
- 5、為什麼 Java 沒有好用的 ORM 框架?
- 6、Java的ORM框架只有Mybatis和Hibernate(包括SpringData)這兩大體系嗎?還沒有別的?
國外 java 用什麼 orm
輕量級。輕量級ORM以dapper為代表,並且是半自動的。也就是說實體類都要自己寫,Dapper相當於Java里的Mybatis。
在java中orm全文是什麼
對象關係映射(Object Relational Mapping,簡稱ORM)是一種為了解決面向對象與關係資料庫存在的互不匹配的現象的技術。
簡單的說,ORM是通過使用描述對象和資料庫之間映射的元數據,將java程序中的對象自動持久化到關係資料庫中。本質上就是將數據從一種形式轉換到另外一種形式。
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等等數不勝數。
為什麼 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框架只有Mybatis和Hibernate(包括SpringData)這兩大體系嗎?還沒有別的?
一般比較常見的有JPA、MyBatis、Hibernate、TopLink。
Spring Data的話,實際上它不是一個具體的ORM框架,它只是抽象了各ORM框架的一些通用方法,讓開發的時候可以減少很多常用功能的編寫,具體的ORM功能,還是需要對接具體的ORM框架,而且它不僅於此,它還支持各種NoSQL的操作,比如MongoDB、Redis之類的。
原創文章,作者:GUZA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150165.html