![]() |
1
VincentWang 257 天前 ![]() JPA / Hibernate
|
![]() |
2
jiulang 257 天前 ![]() 当然 efcore 最好用
|
![]() |
3
masterclock 257 天前 ![]() scala doobie/quill
|
4
hervey0424 257 天前 ![]() efcore
|
5
terranboy 257 天前 ![]() 难道你要因为哪个 orm 好用再去选择语言? 熟悉哪个语言就用哪个语言的 orm 我觉得现代的 orm 都差不多
|
![]() |
6
lululau 257 天前 ![]() “不是我针对谁,我是说,在座的各位都是垃圾”
—— Rails Active Record |
![]() |
7
NPC666 257 天前 via Android ![]() FreeSQL
|
8
wangkun025 257 天前 ![]() 难道不是祖师爷 Rails 吗?
|
![]() |
9
xiaket 257 天前
Django
|
![]() |
11
pepesii 257 天前
rails 呀
|
![]() |
12
ifdef 257 天前
typeorm 支持 query builder
|
![]() |
13
qichunren 257 天前
“不是我针对谁,我是说,在座的各位都是垃圾”
—— Rails Active Record |
![]() |
14
deepall 257 天前
“不是我针对谁,我是说,在座的各位都是垃圾”
—— Rails Active Record |
![]() |
15
gam2046 257 天前
我觉得 ORM 能提供数据库类型到编程语言类型的转换功能就足够了。手写 SQL 无论如何都跑不掉,既然跑不掉都自己也没关系。
|
![]() |
16
fo2w 257 天前
“不是我针对谁,我是说,在座的各位都是垃圾”
—— Rails Active Record |
![]() |
17
yodhcn OP 看到诸位都在复读 Rails ,Google 了一下,这是一个曾经很流行的框架,后面的很多 web 框架都有借鉴它,但在我印象里,至少在国内 ruby 并不流行?
而且用过了 typescript 后,我现在更偏好 强类型 /有类型注释 的动态语言 |
![]() |
18
FightPig 257 天前
Rails 的 ActiveRecord
|
19
haolongsun 257 天前
Django
|
![]() |
20
masterclock 257 天前
ORM 怎么着也得强类型、静态类型吧 [doge]
|
![]() |
21
liuhan907 257 天前
efcore ,没别的。
|
![]() |
22
mizuhashi 257 天前 via iPhone
rails 的关键是 scope 是一种代数,可以自由组合,一般的 query builder 没这功能。另外 rails 的路由是一个有限自动机,而不是别的那样一个正则列表遍历。
|
23
bthulu 257 天前
efcore 好用个屁, 批量更新都没出来, 还要 7.0 版才出
|
24
bthulu 257 天前
就是那种最简单的, update xxx set xx=xx where xx=xx, efcore 都搞不定, 要先通过 where xx=xx 全部查出来, 再循环修改完成后, 再 saveChanges.
详见 https://github.com/dotnet/efcore/issues/795 |
![]() |
25
panlatent 257 天前
如果需要用到框架,那有一点需要考虑:ORM 跟框架的适配度,这点一般框架内置的 ORM 都比较优秀。需要考虑的是否需要支持 SQL Builder 。还有就是怎样使用 ORM , 是只用来跟数据库打交道还是贯穿整个应用,这些对 ORM 的要求肯定不一样。
一般都是选定语言再去比较 ORM , 全语言的话,好用程度应该是动态类型语言 > 静态类型语言, 脚本语言 > 编译语言,建模能力强,语法糖多的 > 语法简单、设施少的语言。 |
26
themostlazyman 257 天前
MyBatis-Plus
|
![]() |
27
Cyanhall 257 天前 ![]() Python 我选 SQLAlchemy
Golang 我选 Ent |
28
konnnnn 257 天前
ecto
|
29
hingbong 257 天前
jvm 的 JOOQ 吧
|
30
ByteCat 257 天前
Hibernate
|
![]() |
31
wanguorui123 257 天前
NHibernate
|
![]() |
32
pengtdyd 257 天前
prisma
|
![]() |
33
nine 257 天前
ORM 肯定是 Rails 了,其他语言根本抄不来的,原因就是 Ruby 的语言特性。
Rails 后端开发体验,对任何语言框架都是秒杀。(不含 js ) Rails 仿体最好的是 Elixir 的 Phoniex ,性能出众,然而语言太小众了,生产场合基本不会选择他。 |
![]() |
34
XCFOX 257 天前 ![]() https://mikro-orm.io/
TypeScript 的 Mikro Orm 真的很不错 ✅ 类型安全 ✅ 隐式事务 ✅ 使用 TypeScript 的 class 和装饰器定义 POJO ✅ 超强的 Query Builder (内置 knex ) |
![]() |
35
chrisia 257 天前
ActiveRecord
|
![]() |
36
XCFOX 257 天前
prisma 的问题是它使用自己的一套 DDL(Prisma schema) 去定义 POJO ,而它的 DDL 又不如 TypeScript 好用:无法继承、无法 export ,无法和 class-validator 等库共用。
|
![]() |
37
wellerman 257 天前
laravel Eloquent + migration 又快又好
|
![]() |
38
james2013 257 天前
MyBatis-Plus
|
39
iwdmb 257 天前
Rails ActiveRecord
时代的眼泪 |
40
wxlwsy 257 天前
我目前用的是 mybatis,用法是这样的:
1 数据库的手动写. 2 用 maven 插件 生成模板类 ,不关心内生成的 java 是啥牛鬼蛇神,反正数据库咋样代码都是有的,然后打成 jar 3 项目依赖刚才生产 jar, 然后写个 Dao 就用 mybatis dynamic SQL. 可以不用手写 sql 了....... 4 程序只操作 DAO.不关心后面的事情. 实际上最简单的就是手写 sql, 但是手写 sql 最大的问题是数据库变了,编译器检查不了问题,因为那是 String. 完全用 java 的话,重新打包,字段变量马上报警(如果数据库新增字段除外). |
41
zzf 257 天前
ecto
|
![]() |
42
jininij 257 天前 via iPhone ![]() yii2 的 ActiveRecord ,虽然不写 PHP 已经很多年,但还是很怀念这个 ORM 。我用过最舒服的 orm 没有之一。外加我自己实现的增强 gii ,成为我的舒适区了。后来写 js ,写 python ,写 java ,用什么 ORM 都觉得浑身不舒服。
|
43
87B3F508 257 天前
Jooq 好用
|
44
Baloneo 257 天前
Peewee
|
![]() |
45
IMengXin 257 天前
目前在用的:SqlSugar
|
46
zxCoder 257 天前
不都一样吗,没啥大区别
|
47
StarkWhite 257 天前
graphql 了解一下。都 9102 年了,大家有没有用上 Facebook 出的 GraphQL ?
https://v2ex.com/t/589138 |
![]() |
48
flowerains 257 天前
@jininij 俺也用过 yii ,确实挺怀念 activeRecord 的,可能是其他的 thinkphp 的 orm 太垃了
|
49
StarkWhite 257 天前
@bthulu 这也太拉了吧😂
|
![]() |
50
lancelock 257 天前
freesql
|
51
haolongsun 257 天前
另外也安利一下 rust 下的 sea-orm.
|
![]() |
52
Lattez 257 天前
sqlalchemy
|
53
ll5270 257 天前
django
|
![]() |
54
shyling 257 天前
activerecord 啊。。
|
![]() |
55
learningman 257 天前 via Android
@StarkWhite graphql 是传输协议,又不是 orm
|
![]() |
56
LeegoYih 257 天前
Java:JPA (实名抵制 MyBatis 和三流插件 MyBatis-Plus ,本质上 ORM 都不算)
Ruby:Rails (众多框架“借鉴”的对象) Python:SQLAlchemy Go:没一个好用的,受限于语言本身 |
![]() |
57
moell 257 天前
Eloquent ORM
|
58
lp7631010 257 天前
基本上 php laravel 用起来都不怎么需要去拼写 sql, orm 起码能完成日常 95%以上操作,动态语言搞 orm 是天生的优势
|
59
233373 257 天前
Django
|
![]() |
60
qfdk 257 天前 via iPhone
objection.js
|
![]() |
61
min 257 天前
ef
|
62
frodez 257 天前
rust 的 sqlx ,不过不是 orm 级别的库。
|
![]() |
63
angelface 257 天前
要说写的爽, 那 Rails 的 AR 真的是无人能出其右。
干净利索,非常自然 |
![]() |
64
kingjpa 257 天前
静态语言的 orm 就不要拿来说了,和动态语言比 就是幼稚园和大学生的差距。
反过来比性能,角色互换 |
![]() |
65
evlos 257 天前 via iPhone
ActiveRecord
|
66
lovepplforever 257 天前
Rails 的 ActiveRecord 是最屌的
|
67
WispZhan 257 天前 via Android
没人提 groovy 的 grails 啊,不过没错看名字就知道是抄的 rails
|
![]() |
68
wuhaoworld 257 天前
必须得是 Laravel 下的 Eloquent ORM
|
![]() |
69
zorui 257 天前
c# LINQ
|
![]() |
70
zoharSoul 257 天前
mybatis, 喜欢这种写 sql 的
|
![]() |
71
ychost 257 天前
EntityFramework 配合 C# 的 Linq 是最好用的,Linq YYDS
|
![]() |
72
lkk 257 天前
Ruby 在中国不流行大概是因为它名字取的不好,弱逼。
|
73
youngce 257 天前
django
|
![]() |
75
varzy 257 天前
Laravel 的 Eloquent ORM 。说实话我几乎不会写 sql ,只有 Laravel 的 Eloquent ORM 能做到让我一行 sql 都不写把项目做出来。。。。
|
![]() |
76
CookCoder 257 天前
PHP Laravel ORM
|
77
rajab 257 天前 via Android
ebean
|
![]() |
79
zhouyg 257 天前
好奇 OP 说的“麻烦一点的查询”是怎么样的,基于 prisma 关系的查找为啥搞不定呢
|
80
dqzcwxb 257 天前 ![]() tkmapper,兼容原生 mybatis 且支持多种数据库
你爱手写 sql 就手写,你爱用 jpa 语法就 jpa 语法一切自由 |
![]() |
81
Features 257 天前
Eloquent ORM 懒人福音
|
82
xgdgsc 257 天前 via Android
对 Julia 感兴趣的话可以看下 PostgresORM.jl 和 Searchlight.jl ,目前可能不是最完备的,但对你参与开发可能最友好
|
83
Rache1 257 天前
|
![]() |
84
gotounix 257 天前 ![]() SQLAlchemy ,MyBatis 这种半自动的感觉不伦不类。
|
![]() |
85
jarontai 257 天前 via iPhone
巧了,最近我们也开始用 TS 的 orm ,选的是 MikroOrm ,支持 mongo 和 mysql ,支持 query builder ,底层也应该有用 knex ,还没有深度使用但感觉良好
|
![]() |
86
gowk 257 天前
我站 Entity Framework
|
87
6167 257 天前
sqlalchemy
|
![]() |
88
815979670 257 天前
我投 Yii2 一票,本身会的语言不多 PHP 然后会写一点 GO ,Go 的话 有接触 GORM ,PHP 的话 主流的框架基本都用过,但感觉最舒服只有 Yii2 的 ORM
|
89
afewok 257 天前
手写 SQL 才是最简单,最好用的
|
90
runliuv 257 天前 ![]() “不是我针对谁,我是说,在座的各位都是垃圾”
-- C#.NET Entity Framework. |
91
yedanten 257 天前 via Android
PHP Laravel Eloquent 是真的好用,完完全全,0 心智负担
|
92
lanlanye 257 天前
如果想要代码代替手写 SQL 的那种 Builder 的话,SQLAlchemy 不错,基本能写 SQL 的都可以写 Python 实现,虽然写起来跟直接写 SQL 也没啥区别。
如果是 Active Record 那种简单需求的话,毫无疑问是 Rails 的体验秒杀其他工具。 |
93
Leviathann 257 天前
快 100 楼了没有一行代码展示是怎么好用的
|
![]() |
94
maocat 257 天前 via iPhone
Python 的 mongoengine ,真的好用
|
![]() |
95
lazywen 257 天前 via Android
Rails ,Django 都很顺手,还有 jetbrains 出的 exposed 也挺好用的,另外 jpa 的状态管理巨坑,依赖数据库强一致性状态的程序慎用,crud 无所谓
|
96
StarkWhite 257 天前
@Leviathann 坐等代码展示哈哈
|
97
StarkWhite 257 天前
我记得阿里出了个 orm ,好像叫 fluentmybatis
|
![]() |
98
mind3x 257 天前
|
100
gongquanlin 256 天前 ![]() 用了 laravel 的 orm 之后现在转 java ,觉着 java 的 orm 都和 shi 一样难用,还得复写 sql 。就算 mybatis plus 又如何,唉
|