我来拍砖了。
> Prisma 和 Drizzle 没有提供此能力
因为这是伪需求,java 写傻掉的 leader 才需要这种能力
而且你这 ORM 与 Prisma/Drizzle 等 ORM 完全不是一条路,连比较的意义都没有。
你的 ORM 依托于 Vona 框架本体,是一系列独家 API 和抽象的封装,并不是纯粹的框架无关 ORM 。
zod 的 schema 原本是一等公民,你在自己框架里是将其作为二等公民
findOne(@Arg.query('id') id: number) -> z.nmber()
findOne(@Arg.query() query: DtoStudentInfo) -> z.object()
多了一层被框架拘束的抽象与封装
这个所谓的动态推断与生成 DTO ,为什么要手动重复指定返回值类型。
```
@
Api.body(v.array($Dto.get(() => ModelOrder, { include: { products: true } })))
async findAll() {
return this.scope.model.order.select({
include: {
products: true,
},
});
}
}
```
DRY (Don't Repeat Yourself),你写的不是 TypeScript ,而是 Java ,或者说 SpringBoot 。
想做新的 web 框架,还是多看看 hono 和 elysia 吧,面向类型才是正确方向,面向对象已经是旧时代的残党了,nestjs 这条路已经走到头了,像 adonisjs 之类的也只能走全栈这条路另辟蹊径。