V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Braisdom  ›  全部回复第 28 页 / 共 31 页
回复总数  607
1 ... 20  21  22  23  24  25  26  27  28  29 ... 31  
2020-11-28 12:17:34 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@hantsy 我在设计 ObjectiveSQL 时,已经忘记了 SQL 的存在,站在 Java 语言的基础上思考,如果通过 Java 语言更方便的查询和分析数据,这是本质
2020-11-28 12:15:42 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@hantsy
贫血模型 与充血模型 本质上不重要,关键对开发来讲,你的效率有没有得到提升,思考问题要从实际出发。

不需要编写一行额外的代码,就能实现一张表的
1 )简单基于属性的查询
2 )关联对象查询
3 ) Validation
还有更多...
2020-11-28 12:12:49 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@hantsy

是的它们两个都可以通过 Java 代码生成 SQL,但他们有致命的缺点。
1 ) Java 代码的生成需要手动编译,这样的话模型内容变化里,需要手动生成代码。
2 )算术运算符、比较运算符和逻辑运算都是通过方法的形式实现,这样会使 Java 代码过于复杂

举个简单的例子:

SQL 表达式:
(`T0`.`quantity` > 30) AND `T0`.`sales_at` BETWEEN '2020-10-10 00:00:00' AND '2020-10-30 23:59:59')

QueryDSL 和 JOOQ 中会是这样的

exp.and(table.quantity.gt(30), table.salesAt.between("2020-10-10 00:00:00", "2020-10-30 23:59:59")

而 ObjectiveSQL 中是这样的:

orderTable.quantity > 30 && orderTable.salesAt.between("2020-10-10 00:00:00", "2020-10-30 23:59:59")

你能看出区别吗?如果表达式再复杂一点呢?
2020-11-28 11:34:07 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@wysnylc N+1 的问题已经解决了。


@hantsy 最关键我是不需要写代码的,哈哈
2020-11-28 11:33:32 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@hantsy 哈哈,我和 QueryDSL 有本质的区别,有必要写个两者的区别,有兴趣看一下

https://github.com/braisdom/ObjectiveSql 文章的最后
2020-11-27 21:27:56 +08:00
回复了 Braisdom 创建的主题 推广 ObjectiveSQL 稳定版本 1.4.0 发布了
周五发布,感觉不是很合适呀,大家都有安排
2020-11-25 15:13:19 +08:00
回复了 ggjjl1 创建的主题 Java 请问大家,现在 Java 比较流行的 ORM 框架是哪些?
@GM 目前 1.3.9 版本是稳定版本,example 下有多种数据库的单元测试,基本覆盖了所有 case,最近在做分页查询,使用起比 MyBatis 方便很多,(我个人觉得,哈哈)
2020-11-25 15:11:45 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@Joker123456789 你的分析很到位,一个工具很难做到面面俱到,不太可能适应所有的场景,有舍才有得。
1 ) ObjectiveSQL 主要解决动态 SQL 的编程,所谓动态:也就是 SQL 结构很难通过字符串接近的形式实现,这种场景下,传统 SQL 想变为程序很困难,将这样的程序直接变成 SQL 也不容易,ObjectiveSQL 会通过单元测试的形式提供完成 SQL 。

2 )其实,程序员到底是看到 SQL 呢,还是还到 Java 一直是矛盾的中点,试想一下,如果没有 SQL 的存在,大家直看 Java 会是什么样的一种状态。
2020-11-24 13:20:45 +08:00
回复了 ggjjl1 创建的主题 Java 请问大家,现在 Java 比较流行的 ORM 框架是哪些?
https://github.com/braisdom/ObjectiveSql

你可以参考一与,比较新,但会及时响应,自卖自夸,有兴趣可以一起探讨,哈哈
2020-11-24 13:05:03 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@aguesuka 你说的很对,SQL 语言是一种已经被习惯的数据查询和分析语言,最初的设计是直接给人使用的,而不是为程序设计的,逻辑控制、强类型等程序化的概念的使用是需要专业训练的。

我挑战的是 SQL 语言在程序上的表现力,目前只是第一个版本,我的想法还没有充分彰显。

对权威的挑战必定会迎来更多人的挑战,这是正常的,没有对权威的挑战,这个时代也就不会进步了。
2020-11-24 12:47:37 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@CatTom 已经更新,可以按 readme 更新一下版本信息
2020-11-23 21:42:04 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@tt0411 其实我不是很喜欢 DSL 这个概念,按道理说 SQL 是一个 DSL,而 Java 是基于自身的抽象能力与表达能力使得 SQL 更便于逻辑控制。
当然,这是我个人的感觉,每个人有不同的背景,也会有不一样的认知,没有对与错,只是会用不同的方式进行工作而已。
2020-11-23 21:12:35 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@CatTom 抱歉,1.3.8 版本是我测试不充分,我调整了 pom 依赖,
2020-11-23 18:30:02 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@bxb100 老实说,性能指标还真的不好搞,主要因为 ObjectiveSQL 是一个无状态的框架,本身不存储任何东西,唯一需要验证的是内存泄露,SQL 的构造也都是字符串拼接,本质上不会有性能问题。
2020-11-23 17:54:14 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@bxb100 你所说的性能是指哪方面性能
2020-11-23 17:53:52 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@CatTom 这两天一直写分页的,忘记发布一个 pom 了,不好意思,正在搞。
2020-11-23 17:33:42 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@CatTom 稍等,我知道原因了。
2020-11-23 17:30:39 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@CatTom 你加我微信, braisdom
2020-11-23 16:16:18 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@bk201 你可以看一下前面我的解释,
DBA 和程序员 需要的是不同的 SQL 编程方式,程序员需要的更多是动态的 SQL 构造过程,传统 SQL 远远做不到。
2020-11-23 15:40:45 +08:00
回复了 Braisdom 创建的主题 Java 历经 3 年,终于得以实现了
@brezp 感谢支持,我现在正在开发分页的特性,相比其它 ORM 框架,分页使用起来也会特别简单
1 ... 20  21  22  23  24  25  26  27  28  29 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2795 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 06:17 · PVG 14:17 · LAX 22:17 · JFK 01:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.