84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
欢迎选择我的课程,让我们一起见证您的进步~~
終於可以來吐槽一下了,對於已經長時間不再使用 ORM 的人來表達一下我的看法。
ORM
經常看到寫Java 後端的人,寫了一大堆模型對象,各種繼承和組合都用上了,如@chanjarster 所說的,一對一,一對多,多對多,單項雙向的,直接繞暈了...
Java
其實個人覺得ORM 是一个很糟糕的发明,ORM 唯一的好处就是不用考虑 SQL,简直哭晕,SQL 是一个多么好的东西,现在对于大部分的 Java 程序员来说,写个 SQL 是一個很糟糕的發明,ORM 唯一的好處就是不用考慮SQL,簡直哭暈,SQL 是一個多麼好的東西,現在對於大部分的
SQL
ORM總結一下
ORM綜上,如果你認可的話,那就放棄
MyBaits 直接写 SQL使用
MyBaits
NOSQL 数据库,把对象转换为 JSON 数据,可以直接存储,如 MongoDb使用
NOSQL
JSON
MongoDb
你這個問題好大,簡單來說就是搞清楚Model和Model之間的關係,有三維
「引用關係」還是「擁有關係」。如果A擁有B,那麼A刪除的時候B也要跟著刪除。如果A引用B,那麼A刪除了B不用跟著刪除。這個是根據業務來判斷。
單項還是雙向。這個是根據業務來,你自己判斷,不過要記住一點,在「引用關係」下,盡量保持單向。在「擁有關係」下,雙向是可以的。
一對一、一對多、多對一、多對多。這個不多講了,不過有一點要注意,盡量避免多對多,如果用了多對多多問自己是否一定要這麼幹。
如果一定要問有什麼方法論,可以看看DDD(Domain Driven Design)裡的聚合根(Aggregate Root)概念。
終於可以來吐槽一下了,對於已經長時間不再使用
ORM
的人來表達一下我的看法。經常看到寫
Java
後端的人,寫了一大堆模型對象,各種繼承和組合都用上了,如@chanjarster 所說的,一對一,一對多,多對多,單項雙向的,直接繞暈了...其實個人覺得
程式設計師來說,寫個ORM
是一个很糟糕的发明,ORM 唯一的好处就是不用考虑SQL
,简直哭晕,SQL
是一个多么好的东西,现在对于大部分的Java
程序员来说,写个SQL
是一個很糟糕的發明,ORM 唯一的好處就是不用考慮SQL
,簡直哭暈,SQL
是一個多麼好的東西,現在對於大部分的SQL
應該不是大問題,比在這裡去背各種物件映射規則簡單多了...ORM
總結一下ORM
綜上,如果你認可的話,那就放棄
,靈活控制MyBaits
直接写SQL
使用NOSQL
数据库,把对象转换为JSON
数据,可以直接存储,如MongoDb
使用你這個問題好大,簡單來說就是搞清楚Model和Model之間的關係,有三維
「引用關係」還是「擁有關係」。如果A擁有B,那麼A刪除的時候B也要跟著刪除。如果A引用B,那麼A刪除了B不用跟著刪除。這個是根據業務來判斷。
單項還是雙向。這個是根據業務來,你自己判斷,不過要記住一點,在「引用關係」下,盡量保持單向。在「擁有關係」下,雙向是可以的。
一對一、一對多、多對一、多對多。這個不多講了,不過有一點要注意,盡量避免多對多,如果用了多對多多問自己是否一定要這麼幹。
如果一定要問有什麼方法論,可以看看DDD(Domain Driven Design)裡的聚合根(Aggregate Root)概念。