问题标签 [discriminator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
inheritance - JPA 多重鉴别器值
我们正在建立一个新项目,并决定为 JPA 使用 eclipselink。在创建我们的领域模型时,我们遇到了一个问题。
我们有一个叫做组织的基类。我们还有供应商和客户,它们都扩展了组织。当 JPA 创建表时,我看到它使用了一个鉴别器,问题在于供应商也可以是一个组织。
所以我基本上想要的是(这些是数据库表来获得这个想法):
一个小例子来帮助澄清这一点:
我们有一个客户叫 SparklingGlass。SparklingGlass 从我们这里购买计算机,因此 SparklingGlass 被保存为我们的客户。我们反过来从 SparklingGlass 购买窗户,因此 SparklingGlass 也是我们的供应商。这就是我们想要在我们的系统中实现的。
这在 JPA 中是否有可能,如果没有,在这些情况下最佳实践是什么?
顺便说一句,我们使用 JOINED 继承类型
inheritance - JPA eclipselink 加入了没有鉴别器的继承
我们正在为我们的新项目使用 JPA。我们有一个具有判别器的继承关系。
我们正在尝试从我的超类表中删除鉴别器字段,但我们无法弄清楚如何使用 eclipselink 来实现这一点。我们知道这可以通过休眠实现,有谁知道如何通过 eclipselink 实现这一点?
您可能想知道我们为什么要实现这一点(我知道使用鉴别器更快,因为它消除了对其他表的存在检查的需要),这是因为我们尝试实现以下内容:JPA 多个鉴别器值(请参阅问题和答案)。
grails - 在 mysql 表中,我无法更改鉴别器值
在 grails 中,我有三个类,例如:
1.
2.
3.
在 MySQL 表中,我可以将鉴别器列名获取为Node_Type
,但无法获取 and 之类的TASK_NODE
列值DECISION_NODE
。
相反,我变得像这样[com.p1.Task
或com.p1.Decision
]
asp.net-mvc - MVC EF:如果父类是抽象的,则鉴别器字段不会出现
我有一个名为Product的实体:
我有一个叫玩具的产品
如此有效地,玩具就是产品。Product 有自己的属性,但它也有一个名为“ Name ”的抽象属性。孩子知道自己的名字,所以它会覆盖它。
这对我来说似乎很好,但是当我运行 Add-Migration 时(因为我使用的是 EF Code-First),鉴别器字段丢失了。如果删除抽象字段,并使类成为非抽象类,则出现鉴别器字段。
我可以使父类抽象吗?
谢谢!
hibernate - 如何知道鉴别器的值
首先我要感谢这个论坛的管理员和所有参与它的人,这是我发布的第一个问题,所以让我们以这个与hibernate映射为例,
所以我有一个带有鉴别器值的表,我创建了一个函数,它使用 Hql 从数据库中返回一个项目,我想知道如何知道这个对象的鉴别器值。提前致谢。
hibernate - Hibernate 4:部分多对一关联 + where/filter 鉴别器
我正在使用 Hibernate 4。我有这个带有 Category 和 CategoryItem 表的数据库:
这用于存储不同的类别或目录及其值。例如:
类别表:
类别项目表:
这些值在整个架构中使用,但仅对 CategoryItem(Id) 进行逻辑引用,例如:
是否可以在 Hibernate 中使用某种技术映射这些表?我现在无法更改此架构。
编辑:
到目前为止,这些是类和映射:
我正在尝试多对一,但出现此错误:'must have the same number of columns as the referenced primary key'。这是有道理的,因为我假装只在 Person.hbm.xml 上映射 CategoryId(Id)。
我需要指定where或discriminator值来完成左连接条件,因为 CategoryItem(Id) 本身并不是唯一的。
也许这对于 Hibernate 来说甚至是不可能的,但我将不胜感激。谢谢。
mysql - 在多租户的情况下如何为自己制作数据库副本
我有带有 mysql 数据库的多租户系统。有基于鉴别器的多租户。每个表都包含列tenantId。我有默认租户,tenantId = -1。对于此默认租户数据库,包含所有新租户的初始数据。
如何为同一数据库中的新租户 ID 复制所有租户 ID = -1 的数据?数据库中有很多表,因此手动编写这样的脚本非常困难。
主要问题:如果我要转储数据库,那么我不能将此转储加载到同一个数据库,因为主键和外键应该是新的。
grails - 在 Grails 中,我如何获得鉴别器值?
我有这样的课:
有没有办法在控制器/视图中获得这个鉴别器值?
hibernate - 错误的插入和选择与自我关系多对多
我有一个抽象的超类“视图”
儿童机构班
和一个儿童团体
我保存了 3 个机构。好的。我试图用这三个机构拯救一个团体。这创建了一个新视图(类型 = 2)。但是关系表是这样的:
即用DiscriminatorValue代替GroupInstitution.id(我把DiscriminatorValue改成3,只是测试,关系是用3做的)
注释是错误的?
grails - 在 Grails 中,如何根据鉴别器在数据库中搜索某些内容?
假设我有以下课程:
我需要实现一个搜索算法,这样,给定一个 JSON 字符串,我可以在数据库中找到一个特定的 Fruit 实例。例如:
或者
问题是,水果可以有相同的名称,所以如果我只是搜索这个:
它可能会返回Apple
或Banana
。我需要能够根据类型过滤它的类型,比如:
我如何在 Grails 中做到这一点?