首页 > 解决方案 > 是否有一种 ORDBMS 可以让我即时创建类?

问题描述

这有点难以解释,我在找什么:

搜索存储对象的数据库(类似于例如https://www.objectdb.com/)但其中类不是由 Java 代码定义而是在数据库本身中 - 动态。

这样就可以创建一个类,例如通过休息调用:

{
 action: create_class,
 type: Car,
 properties: {
  color: String,
  producer: String,
  price: Integer,
 }
}

并添加一个项目,如:

{
 action: create_entry,
 class: Car,
 id: 123456,
 {
  color: red,
  price: 20000,
  producter: Hypercar
 } 
}

在您现在说:“NOSQL!”之前:关系和查询似乎存在问题。例如“查找所有红色汽车”或“查找具有标准 XY 的生产者的汽车”

但也许存在一个已经提供很多功能的数据库解决方案——SQL 和 NOSQL 的混合体?

例如,产品fibery提供了一种为每只鼠标添加实体种类的方法。这是非常鼓舞人心的。(Fibery 不是数据库,而是做我正在寻找的产品)

标签: javadatabaseobjectdbordbms

解决方案


您可以查看https://www.prisma.io/ 它支持类似 sql 的数据库作为后端(Postgresql 等)并提供基于 REST 和 GraphQL 的查询语言。

与此相比,Prisma 的工作原理根本不同。使用 Prisma,您可以在声明性 Prisma 模式中定义模型,该模式可作为数据库模式和编程语言中的模型的单一事实来源。在您的应用程序代码中,您可以使用 Prisma Client 以类型安全的方式在数据库中读取和写入数据,而无需管理复杂模型实例的开销。这使得查询数据的过程更加自然和可预测,因为 Prisma Client 总是返回纯 JavaScript 对象。

这里也是关系查询的一瞥https://www.prisma.io/docs/concepts/components/prisma-client/relation-queries

作为 Fibery 的开发人员,我应该说它没有针对一般用途进行优化,如 Postgresql 或该领域的任何其他真正的数据库。


推荐阅读