什么优势是有没有在ORM重写==操作符?(What advantage is there to ov

2019-09-21 00:30发布

显然,很多的ORM的做这样的事情:

query.filter(username == "bob")

生成SQL像

... WHERE username = 'bob'

为什么覆盖,而不是类似==操作符:

query.filter(username.eq("bob"))

Answer 1:

这是一个主观的问题,但总的来说我要说的是,前者的语法更直观,因为许多(如果不是大多数)ORM的做到这一点它的普遍预期(使它更直观)。



Answer 2:

ORM的整点brideing对象和关系世界之间的“阻抗不匹配”,所以理论上你可以一无所知的“=”,在SQL的世界,并与“==”的对象世界的工作。



文章来源: What advantage is there to overriding the == operator in an ORM?