问题标签 [null]
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.
grails - 没有 ID 字段或部分为 NULL 复合字段的 Grails 域类
根据对上一个问题的回答(在此回答:Grails 中的 SQL/Database Views),我尝试使用域类来表示数据库中的视图。然而,这在大多数情况下都非常有效:
我有一个没有单一唯一键的视图。假设基础表如下所示:
A:
id,varX
1,"Blah"
2,"Foo"
3,"Bar"
B:
id,A.id,C.id
1,2,1
2,2,2
3,3,1
C:
id,varY
1,"Boom"
2,"Fizzle"
我的观点是这样的:
A.id,varX,B.id,C.id,varY
1,"Blah",NULL,NULL,NULL
2,"Foo",1,1,"Boom"
2,"Foo" ,2,2,"Fizzle"
3,"Bar",3,1,"Boom"
这正是它应该如何寻找我们的目的。但是,如您所见,我们可以为视图构造的最佳唯一复合 id 是 ['A.id','C.id'],因为它唯一标识每个元素,但 Grails 失败了,因为它似乎无法处理复合 ID 的一部分为 NULL(实际上,list() 返回 4 个对象的列表,第一个是空指针,其余是视图的实际域实例)。
请注意,我们也可以使用 A.id 和 B.id,但它会遇到同样的问题。
另请注意,我们希望至少显示一次表 A 中的元素(表 B/C 中未找到的任何字段为空值),如果表 B 中有多个对应条目,则可能显示多次。
所以,我的问题是两个部分:
1:是否可以定义一个没有任何 ID 字段的 grails 域类?我们不需要任何视图条目的永久句柄,我们只需要列出该视图中的数据。
2:如果不是,是否可以使用复合 ID 字段定义一个 grails 域类,其中一部分可能为 NULL,但即使复合 ID 的一部分为 NULL,它也将唯一标识一行?
我知道我们可以直接使用 Groovy SQL 来直接查询视图而无需关联的域类(实际上我们现在正在这样做),但理想情况下我们希望用域类来表示视图。此外,抛开所有争论不谈,这两个问题可以更通用地应用,而不仅仅是我们的特定问题。
nhibernate - Nhibernate 中具有复合 ID 的意外代理对象
我有一个使用复合 id 的数据结构(我不想将其更改为单个),除了多对一连接之外,一切都加载正常,如果连接为空,而不是将属性映射为 null,而是将其映射为空代理对象。我写了一个丑陋的工作(见吹)。有什么解决办法吗?
私有节点_Parent;
}
以映射文件开头
并通过
mysql - MySQL外键允许NULL?
我正在拼凑一个图像网站。基本架构非常简单的 MySQL,但我在尝试表示与图像关联的可能管理标志时遇到了一些麻烦(“不适当”、“受版权保护”等)。我目前的想法如下:
(为了便于阅读而被截断;我发誓,各种外键和索引都是有序的)
tblImageFlags.flagTypeID
在标志类型的查找表上是外键的,你可以想象tblImageFlags.resolutionTypeID
应该是外键的luResolutionTypes.resolutionTypeID
. 手头的问题是,当第一次发出标志时,没有逻辑解析类型(我会声明这是一个很好的用途NULL
);但是,如果设置了一个值,它应该是查找表的外键。
我找不到针对这种情况的 MySQL 语法解决方法。它存在吗?最好的亚军是:
- 添加“无节制”分辨率类型
- 添加一个
NULL
条目luResolutionTypes.resolutionTypeID
(这甚至可以在AUTO_INCREMENT
列中工作吗?)
感谢您的洞察力!
PS Bonus 指向谁告诉我,在数据库的情况下,它是“索引”还是“索引”。
跟进:感谢 Bill Karwin 指出表结构中的语法错误(NOT NULL
如果您希望允许,请不要将列设置为NULL
!)。一旦我有足够的业力给你这些奖励积分,我会:)
java - 在 Java 中将对象分配给 null 会影响垃圾收集吗?
在 Java中分配一个未使用的对象引用是否null
以任何可衡量的方式改进了垃圾收集过程?
我在 Java(和 C#)方面的经验告诉我,尝试超越虚拟机或 JIT 编译器通常是违反直觉的,但我看到同事使用这种方法,我很好奇这是否是一个好的选择向上或那些巫毒编程迷信之一?
sql - SQL nvl 等效 - 没有 if/case 语句 & isnull & coalesce
SQL 中是否有任何 nvl() 等效函数?
或者在某些情况下可以以相同方式使用的足够接近的东西?
更新:
没有 if 语句
没有 case 语句
没有 isnull
没有合并
c# - C# 枚举属性 null vs. 0
我正在使用 IIS/asmx 来支持 Flash 客户端。我的一些服务层数据传输对象具有枚举值属性。在某些情况下,这些属性应该为空。
当将此类枚举属性的值为空的对象呈现给soap时,我收到此错误:
有没有更好的解决方案来创建一个值为 0 的枚举成员(例如 [0,“null”]?我怀疑我在这里缺乏基本知识。
谢谢。
null - 更新空值
我正在尝试生成数据层模板。当我进行选择、更新和插入时,我的想法是让模板与所有列一起使用,因为我不知道哪些列包含值。问题是我可能有一个更新状态,如 cmd.Parameters.AddWithValue("@Field", this.Field); 如果该值为空,则查询将不会执行。我怎样才能解决这个问题?
更新:
我试过了??解决方案,但我收到错误 Operator ?? 不能应用于操作数 string(或 int)和 System.DBNull。它似乎仅在该字段实际上为空时才有效,但如果它有值则无效。然后我尝试将类型(对象)DBNull 放在 DBNull 前面,但仍然没有。
将(对象)添加到该字段有效!
谢谢。
mysql - 更新、外键约束和空值
我正在用 C# 生成一个数据模板。在这个精彩网站上的好人的帮助下,我已经设法处理了几乎所有问题。这应该是最后一个问题。因为它是我正在处理的模板,所以我想要表中的每个字段,包括空值。我在如何通过添加 (object)this.field 来更新空值方面得到了帮助?DBNull.Value 但我有一个外键字段,即使当我查看数据库时它显示为 null,但当我提取记录时,值变为 0。当我尝试更新此字段时,它说我违反了外键约束。我该如何解决这个问题?我认为空解决方案会起作用,但它不显示为空,它显示为 0。
谢谢
c - NULL 总是假的吗?
假设NULL
在 C 中总是转换为 false 是否安全?
还是应该对 的值进行明确的检查NULL
?
validation - 企业库验证块 - 验证可为空的属性?
我正在尝试对可空属性(例如 int)进行验证。
例子
但是,如果我设置Age
为 null 验证失败,因为它不在范围内,我知道我也需要一个[ValidatorComposition(CompositionType.Or)]
,但我还应该使用什么?