深夜調Bug:那次我被@OneToMany坑到懷疑人生
大家好,我是小米,一個31歲的Java後端開發者。 我發現程序員這行啊,最容易讓人“精神內耗”的不是加班、不是需求改動,而是——被註解支配的恐懼。 有一天,我在項目裏寫了一個看似普通的實體類映射,然後一運行,控制枱瞬間爆紅: com.fasterxml.jackson.databind.JsonMappingException: Infinit
昵稱 軟件求生
大家好,我是小米,一個31歲的Java後端開發者。 我發現程序員這行啊,最容易讓人“精神內耗”的不是加班、不是需求改動,而是——被註解支配的恐懼。 有一天,我在項目裏寫了一個看似普通的實體類映射,然後一運行,控制枱瞬間爆紅: com.fasterxml.jackson.databind.JsonMappingException: Infinit
昵稱 軟件求生
大家好,我是小米,一個寫代碼也寫故事的31歲程序員。 上週五晚上,我在工位上加班修 Bug,手裏那杯咖啡都涼透了。原因嘛——老闆的一句話:“小米,你這表記錄誰創建的、什麼時候改的,怎麼都沒寫?”我一臉懵:“啊?這不是數據庫自帶的嗎?”老闆笑了笑,“你去查查 JPA Audit。” 就這樣,我打開電腦,走上了一條“審計字段自動填充”的覺醒之路。 那些年我們
昵稱 軟件求生
前言 Hibernate 是一個優秀的持久層的框架,當然,雖然現在説用得比較多的是 MyBaits,但是我工作中也不得不接觸 Hibernate,特別是一些老項目需要你維護的時候。所以,在此寫下這篇文章,方便自己回顧,也方便新手入門體驗 Hibernate。 注:使用的版本是 Hibernate 5.x 的 什麼是 ORM? ORM(Object Relational Mapping,對象關係映射
昵稱 god23bin
前言: Java 領域的ORM(Object-Relational Mapping)框架有很多,各家的性能和使用體驗如何?本文將對比體驗以下的Java ORM框架,包括Spring JDBC、Spring Data JPA + Hibernate、QueryDSL、jOOQ、GraphQL、MyBatis、MyBatis-dynamic-sql、MyBatis-plus、Fluent-mybati
昵稱 JerryMa
介紹一款JPA開發利器fastjpa,它提供了對SpringBoot框架中關於對JPA的操作的二次封裝 ,提供了面向對象的方式來操作JPQL/HQL,旨在減少sql語句編寫,快速提高開發效率,使代碼書寫顯的更加優雅和增加可讀性 工具特性: 面向對象方式的更新、刪除和查詢操作 查詢指定列名和函數列 分組查詢和過濾 列表查詢和過濾 表連接查詢和過濾 支持子查詢 分頁查詢和過濾 安裝
昵稱 野豬飛舞
在做的項目採用的是spring jpa,底層默認使用的是orm是hibernate,通過hibernate查詢出來的實體對象實際上都是代理對象,在序列化的時候,我們可能會遇到懶加載導致jackson無法正確解析對象的問題,這個可以通過導入maven包 dependency groupIdcom.fasterxml.jackson.datatype/groupId artifactI
昵稱 我不是碼農
遇到了一個hibernate查詢問題,當查詢實體時,並沒有任何顯式調用@ManyToOne註解的屬性的情況下,依然會進行查詢,(開始使用idea進行debug的時候,發現在debug過程中,idea會觸發hibernate的加載操作,當然了這是另外一個問題),我在hibernate官網找到了答案: https://docs.jboss.org/hibernate/orm/6.4/usergu
昵稱 我不是碼農
Hibernate Hibernate是一個開源的對象關係映射框架(ORM),將Java應用程序中的對象與關係型數據庫之間的數據存儲和檢索進行映射。 Hibernate還提供了一種稱為Hibernate Query Language(HQL)的查詢語言,這提供了一定程度的數據庫獨立性。 以user表為例,通過ORM即可將類中的字段映射為數據庫中的表。 查詢 數據庫查詢分為三個步
昵稱 多走幾步