babyfish-ct / jimmer

A revolutionary ORM framework for both java and kotlin.
Apache License 2.0
876 stars 88 forks source link

Jimmer坚决反对植入MyBatis的特性 #760

Closed yibird closed 2 weeks ago

yibird commented 2 weeks ago

今天在Jimmer QQ群里询问拦截器SQL的问题,翻了Jimmer的官方的文档 只看见保存前拦截器,Jimmer作者也回复我了,说暂时没办法对查询SQL做拦截,因为我觉得拦截SQL扩展是企业中很常见的需求,大部分人也需要这种功能,比如做一些增强等等。我回复到了Jimmer 没有Convert、Transform这种概念(类似与Mybatis的类型处理器),作者回复我不要用Mybatis的思想来写Jimmer的意思,我想问一个扩展你框架层没有,不想着解决问题,想着解决提出问题的人(中午的时候把我踢出群了)。Jimmer作者在群里多次表示Mybatis和及其衍生品都不如Jimmer,我承认是不如,但Mybatis没有借鉴意义?难道Jimmer没缺点?当然了这是别人的开源项目,使用者你能说什么?别人说一句爱用不用你怎么办? 大体上我觉得Jimmer是一个独裁项目,作者不需要对使用者负责,也不需要聆听使用者的友好建议,但这对使用者是不友好的,谁敢用这个库?就Jimmer作者这种格局,使用者还是要警惕一下,Jimmer只是提升了一些开发体验,这些特性没有达到你能换其他ORM库的动力,换Mybatis你可能多写一些代码,但换Jimmer 你担心可就多了,小心被删库,升级兼容性问题(破坏性更新),小心在群里问问题被踢出群。为了多一事不如少一事我会把自己的项目从Jimmer慢慢迁移到mybatis。

yibird commented 2 weeks ago

所有的讨论 都可以在2024/11/6 上午的聊天记录中看到

babyfish-ct commented 2 weeks ago

我在积极反馈你的说的点,为你提供建议,并解释为什么不能采用MyBatis的这个设计。

你直接过滤过滤我的说有解释,满脑子只有自己的想法。

你说的点我在积极反馈,我说的点你完全忽略,没有任何回应。这种完全单向的沟通没法进行。

如果沟通只有单向反馈没有双向反馈,那不是文盲就是自我中心者。

yibird commented 2 weeks ago

你可以看一下聊天记录,我是如何回复你的,一开始我说字典表的需求不希望连表,并询问你连表是否会生成额外的连表sql,第二你推荐使用计算属性,但计算的注解不支持额外的注解元数据,这都是有理有据。你说如果沟通只有单向反馈没有双向反馈,那不是文盲就是自我中心者。我反而觉得你是自我中心者,问你未来会支持CRUD拦截器吗?你说不要用使用Mybatis的思维去思考,但是Mybatis没优点吗?至少我认为Mybatis的扩展性非常好,无论是Session、Cache、拦截器、TypeHandle。如果讨论归讨论你中午踢人的行为真的很令人寒心,如果这样的话,下次谁敢发言?谁敢用? 当然这个项目是你的,想怎么独裁就怎么独裁

babyfish-ct commented 2 weeks ago

今天在Jimmer QQ群里询问拦截器SQL的问题,翻了Jimmer的官方的文档 只看见保存前拦截器,Jimmer作者也回复我了,说暂时没办法对查询SQL做拦截,因为我觉得拦截SQL扩展是企业中很常见的需求,大部分人也需要这种功能,比如做一些增强等等。我回复到了Jimmer 没有Convert、Transform这种概念(类似与Mybatis的类型处理器),作者回复我不要用Mybatis的思想来写Jimmer的意思,我想问一个扩展你框架层没有,不想着解决问题,想着解决提出问题的人(中午的时候把我踢出群了)。Jimmer作者在群里多次表示Mybatis和及其衍生品都不如Jimmer,我承认是不如,但Mybatis没有借鉴意义?难道Jimmer没缺点?当然了这是别人的开源项目,使用者你能说什么?别人说一句爱用不用你怎么办? 大体上我觉得Jimmer是一个独裁项目,作者不需要对使用者负责,也不需要聆听使用者的友好建议,但这对使用者是不友好的,谁敢用这个库?就Jimmer作者这种格局,使用者还是要警惕一下,Jimmer只是提升了一些开发体验,这些特性没有达到你能换其他ORM库的动力,换Mybatis你可能多写一些代码,但换Jimmer 你担心可就多了,小心被删库,升级兼容性问题(破坏性更新),小心在群里问问题被踢出群。为了多一事不如少一事我会把自己的项目从Jimmer慢慢迁移到mybatis。

我说不是暂时无法提供,而是是不能如此设计,并解释的原因,没有收到任何反馈并展开任何讨论

babyfish-ct commented 2 weeks ago

你可以看一下聊天记录,我是如何回复你的,一开始我说字典表的需求不希望连表,并询问你连表是否会生成额外的连表sql,第二你推荐使用计算属性,但计算的注解不支持额外的注解元数据,这都是有理有据。你说如果沟通只有单向反馈没有双向反馈,那不是文盲就是自我中心者。我反而觉得你是自我中心者,问你未来会支持CRUD拦截器吗?你说不要用使用Mybatis的思维去思考,但是Mybatis没优点吗?至少我认为Mybatis的扩展性非常好,无论是Session、Cache、拦截器、TypeHandle。如果讨论归讨论你中午踢人的行为真的很令人寒心,如果这样的话,下次谁敢发言?谁敢用? 当然这个项目是你的,想怎么独裁就怎么独裁

我已经解释了

  1. QueryHooks风格会回调回会为N+1犯罪打开大门,Jimmer不会采用此设计,永远都不会
  2. Jimmer是否查询数据由Fetcher控制,不能由开发人员回填

我说的东西,没有任何反馈,没有任何讨论。直接说事一个可惜的框架,我没有任何业务必须满足你的诉求。

只有要求,没有聆听,知道之前管理员为什么要踢你了吧。被踢过第一次人的,多半会被踢第二次,从自己身上找原因。

babyfish-ct commented 2 weeks ago

你可以看一下聊天记录,我是如何回复你的,一开始我说字典表的需求不希望连表,并询问你连表是否会生成额外的连表sql,第二你推荐使用计算属性,但计算的注解不支持额外的注解元数据,这都是有理有据。你说如果沟通只有单向反馈没有双向反馈,那不是文盲就是自我中心者。我反而觉得你是自我中心者,问你未来会支持CRUD拦截器吗?你说不要用使用Mybatis的思维去思考,但是Mybatis没优点吗?至少我认为Mybatis的扩展性非常好,无论是Session、Cache、拦截器、TypeHandle。如果讨论归讨论你中午踢人的行为真的很令人寒心,如果这样的话,下次谁敢发言?谁敢用? 当然这个项目是你的,想怎么独裁就怎么独裁

你参加反馈:别人说个方法行不行?我不想这么干。别人说那个方法行不行,我不想这么干。这些都是围绕自己想法的东西 你未参加的反馈:这么设计对Jimmer有何可破坏,为什么Jimmer不能如此设计。这些是和自己想法无关的东西。

换位思考下,这种有选择性沟通是什么感觉。

自己关心的就聊,自己不关心的解释就忽略,这和强迫有和区别?