java/beans validation-collection/map不包含空值。
有@NotNull注释,可以验证某个对象不是null. 有@NotEmpty注释,可以验证某个集合/映射/字符串/...不是空的. 还有一个注释,即某个集合/地图不包含任何零值的插图?我找不到它.看起来很基础,我相信它必须在JSR-303规格中. 解决方案 没有这样的内置约束.您可以轻松地编写自定义约束,例如@nonullelements,它可以执行您想要的工作.请参阅该文档 http:/http://docs.jboss.org/hibernate/stable/validator/reference/en-us/html_single/#validator-customconstraints 看如何编写自定义约束. 其他解决方案 Java 8添加了直接将注释应用于通用类型参数的能力(例如private List myList). 在Java 8应用程序中,BEAN验证2.0/Hibernate验证器6.
6 2024-03-29
编程技术问答社区
Azure政策检查是否为空值
我需要一个azure策略来标记.我希望用户在创建资源组时需要定义标签.策略还应检查Tagvaule是否没有空. 我尝试了以下内容: { "properties": { "displayName": "Require a tag Billto and a value that is not empty", "policyType": "Custom", "mode": "All", "description": "Enforces a required tag and its value on resource groups.", "metadata": { "category": "Tags", }, "parameters": { "tagName": { "type": "String", "metadata": { "displayNa
4 2024-03-24
编程技术问答社区
防止自动递增的整数主键?
i有一个SQLITE表(SQLite版本3.7.3),其中插入主键列的空列是不可思议的自动插入: sqlite> CREATE TABLE foo(bar INTEGER NOT NULL PRIMARY KEY); sqlite> INSERT INTO foo(bar) VALUES(NULL); sqlite> SELECT * FROM foo; 1 在 sqlite docs 中这种行为,但似乎没有一个关键字来防止自动增量... 我还发现我可以使用SQLITE_OMIT_AUTOINCREMENT SQLITE_OMIT_AUTOINCREMENT 编译选项禁用行为全球,仅适用于此特定列. 有趣的是,如果我不包括PRIMARY KEY约束,我会得到所需的行为: sqlite> CREATE TABLE FOO(bar integer NOT NULL); sqlite> INSERT INTO FOO(bar) VALUES(NULL); SQL e
4 2024-03-20
编程技术问答社区
IntelliJ IDEA对@NotNull参数的空值检查提出抱怨
我想在项目中使用Jetbrains @nullable/@notnull注释. 我有一个带有@notnull字段的课程.构造函数自然不接受null,而是抛出异常.当然,该构造函数的参数也用@notnull注释. 为什么Intellij Idea会抱怨NULL检查?文档指出: 禁止使用notnull索赔注释的元素null值不得返回(用于方法),将(参数)传递给(参数) 和保持(本地变量和字段). 但是,如果构建系统不了解注释并接受new Car(null)> new Car(null)的语句,我仍然必须在运行时检查null值.我错了吗? 解决方案 如果您使用JetBrains @NotNull注释,则将运行时断言添加到您的编译字节码中,以确保在此不传递null.然后,在源代码中编写相同的检查确实是没有意义的.这种方法对我们来说很好. 如果您使用其他注释或不想仪器字节码,则可以通过按Alt+Enter上的"编辑检查设置"来禁用此特定警告,并检查"忽略As
16 2024-02-26
编程技术问答社区
无效的限制不适用于sqlite android中的主键列
我正在尝试构建一个简单的应用程序,不允许用户插入重复值. 我正在尝试PRIMARY KEY作为约束之一,NOT NULL也是如此.但是NOT NULL似乎不起作用. 我尽了最大的努力,但没有解决.请帮助 ((ID INTEGER NOT NULL PRIMARY KEY)";) 解决方案 sqlite允许NULL PRIMARY KEY列中的NULL值, 是列是INTEGER PRIMARY KEY列或表为a WITHOUT ROWID表或列将其定义为一个NOT NULL列. 例如: CREATE TABLE suppliers( supplier_id INTEGER PRIMARY KEY, name TEXT NOT NULL ); 由于此列被称为INTEGER PRIMARY KEY,因此它将不接受NULL value. 其他解决方案 尝试此格式: sqlite> CREATE TABLE DEPARTMEN
14 2024-02-18
编程技术问答社区
在一个现有的表中插入一个NOT NULL列
我尝试过: ALTER TABLE MY_TABLE ADD STAGE INT NOT NULL; ,但它给出了此错误消息: Alter表仅允许添加可以包含空或的列 有一个默认定义 解决方案 作为一个选项,您可以最初创建Null-Able列,然后使用有效的NOT NULL值更新表列,最后更改列以​​设置NOT NULL约束: ALTER TABLE MY_TABLE ADD STAGE INT NULL GO UPDATE MY_TABLE SET GO ALTER TABLE MY_TABLE ALTER COLUMN STAGE INT NOT NULL GO 另一个选项是为列指定正确的默认值: ALTER TABLE MY_TABLE ADD STAGE INT NOT NULL DEFAULT '0' upd:请注意,上面的答案包含GO在Micros
18 2024-01-24
编程技术问答社区
为什么@vaild注解在我的spring MVC应用程序中不起作用?我搜索了很多,但没有找到解决办法。
基本上,如果该字段无效,则应返回消息.但是就我而言,它在这里不起作用! 下面是我的控制器类. @Controller public class StoreController { private NearByStoreInterface getmestore; @Inject public StoreController(NearByStoreInterface getmestore) { this.getmestore=getmestore; } @RequestMapping(value = "/nearbystore", method = RequestMethod.GET) public String display(Model m) { final ControllerTolibModel userDetails=ControllerTolibModel.buil
14 2023-11-13
编程技术问答社区
如果存储过程中的参数为空,则选择全部
我想在SQL Server中创建一个过程,该过程将选择并加入两个表.始终设置参数@company,@from和@to,但@serie_type可以为null.如果@serie_type不是null,我只想包括指定的类型,简单AND S.Type = @serie_type,但是如果@serie_type为null,则我想包括所有类型,简单,只需包括和语句.我的问题是我不知道是否会设置@serie_type,因此我希望有这样的东西: /* pseudocode */ ??? = AND (IF @serie_type IS NOT NULL S.Type = @serie_type) 这是一个过程的示例版本: CREATE PROCEDURE Report_CompanySerie @company INT, @serie_type INT, @from DATE, @to DATE AS BEGIN
72 2023-10-27
编程技术问答社区
Oracle "无法更新到NULL"
我在Oracle 10G上有此查询: UPDATE "SCHEMA1"."CELLS_GLIST" SET ("GLIST_VALUE_ID", "USER_ID", "SESSION_ID") = ( SELECT "GLIST_VALUE_ID", 1 AS "USER_ID", 123456 AS "SESSION_ID" FROM "SCHEMA1"."GLISTS_VALUES_UOR" WHERE ("UOR_ID"=3) AND ("GLIST_ID"=67) AND ("GLIST_VALUE_DESC" = ( SELECT "GLIST_VALUE_DESC" FROM "BMAN_TP1"."GLISTS_VALUES_UOR" WHERE ("UOR_ID"=3) AND ("GLIST_VALUE_ID"="CELLS_GLIST"."GLIST_VA
48 2023-09-26
编程技术问答社区
如何检查一个SQL Server文本列是否为空?
我正在使用SQLServer2005.我有一个带有文本列的表,并且在表中有许多行,该列的值不是空的,但它是空的.试图与"相比"产生以下响应: 数据类型文本和VARCHAR在不等于运算符中不兼容. 是否有一个特殊功能来确定文本列的值是否不是空的? 解决方案 where datalength(mytextfield)=0 其他解决方案 ISNULL( case textcolum1 WHEN '' THEN NULL ELSE textcolum1 END ,textcolum2) textcolum1 其他解决方案 实际上,您只需要使用类似的操作员. SELECT * FROM mytable WHERE mytextfield LIKE ''
16 2023-09-25
编程技术问答社区
选择除空栏外的所有列或NVL所有空栏
是否有任何方法可以在记录中选择所有列,其中字段不是null或NVL null字段to''? 我在Oracle上工作 类似这样的东西 SELECT * IS NOT NULL FROM table WHERE id_table ='001' 或喜欢这个 SELECT NVL(*,'') FROM table WHERE id_table ='001' 解决方案 Just reverse the NULL logic in the demonstration about 查找所有具有架构中所有表的零值的所有列. 例如, FIND_NULL_COL 是一个简单的用户定义的函数(udf),它将返回1列的1,至少具有一个 NULL 值: SQL> CREATE OR REPLACE 2 FUNCTION FIND_NULL_COL( 3 TABLE_NAME VARCHAR2, 4 COLUMN_NAME
28 2023-09-19
编程技术问答社区
SQL非空,而不是Not NULL
我正在使用PostgreSQL.我有一列: NOT NULL 但是,当我想用​​一个空字符串插入一行时,如: '' 它不会给我一个错误并接受.如何检查插入值应为not empty? (既不为空也不是空) ps:我的列定义为: "ads" character varying(60) NOT NULL 解决方案 在列定义中添加约束.例如: ads character varying(60) NOT NULL CHECK (ads '') 有关更多信息,请参见/ddl-constraints.html 其他解决方案 在CREATE TABLE distributors ( did integer PRIMARY KEY DEFAULT nextval('serial'), name varchar(40) NOT NULL CHECK (name '') ); 来自文档: CHECK ( expression )
26 2023-09-17
编程技术问答社区
Sql条件性不为零约束
我很想知道可以在SQL中创建有条件的不是无效的约束吗?其他单词可以创建一个约束,以使B列可以为null null null,只要A列包含,请说" New",但是如果列A的内容A的内容更改对其他内容,则不再允许B列为NULL吗? 为了扩展这一点,就可以做到这一点,以便B列必须为空或空,只要A列说"新"? 谢谢全部:D 解决方案 这对于约束检查非常好.只是这样做: 要求: 是否可以创建一个约束,以使B列可以为null 只要A列包含,请说"新",但如果列的内容 对其他事物的更改,则不再允许B列成为 null? 请注意短语:B列B 可以为null 解决方案: create table tbl ( A varchar(10) not null, B varchar(10), constraint uk_tbl check ( A = 'NEW' -- B can be null or not null: no
16 2023-09-17
编程技术问答社区
如何一次性删除PostgreSQL表中的所有NOT NULL约束
是否可以一次从表中删除所有无效约束?​​ 我有一张大桌没有许多无效的约束,我正在寻找一个比单独放置它们更快的解决方案. 解决方案 您可以将它们全部分组为相同的Alter语句: alter table tbl alter col1 drop not null, alter col2 drop not null, … 如果您想写,也可以从目录中检索相关列的列表.做块生成所需的SQL.例如,类似: select a.attname from pg_catalog.pg_attribute a where attrelid = 'tbl'::regclass and a.attnum > 0 and not a.attisdropped and a.attnotnull; (请注意,这也将包括主要的键相关字段,因此您需要将其过滤掉.) 如果您这样做,请不要忘记使用quo
28 2023-09-17
编程技术问答社区
MySQL-外键删除时在非空字段中设置空值
这可能是一个琐碎的问题,但是当涉及外键约束时,我仍然有些笨拙,所以我想确保. 假设我有一个表countries,字段country_id(pk)和name,以及一个cities,带有字段city_id(pk),name和country_id( fk). 外键cities.country_id具有约束ON DELETE SET NULL.据我了解,这意味着,如果删除了来自countries的记录,则cities中的任何记录删除了记录的country_id country_id将其country_id字段设置为null. 但是,如果cities.country_id具有属性NOT NULL怎么办?这会阻止外国密钥限制正常工作吗?这样做是有道理的,但是我只想检查. 解决方案 如果将ON DELETE SET NULL设置为外键,则不允许您将字段设置为NOT NULL. 因此,您将无法使用NOT NULL和ON DELETE SET NULL on country
12 2023-09-16
编程技术问答社区
MySQL的SELECT只有非空值
可以做一个不需要空值的选择语句? 现在我正在使用: SELECT * FROM table ,然后我必须用php循环过滤零值. 有没有办法做: SELECT * (that are NOT NULL) FROM table ? 现在选择 *我获得Val1,val2,val3,null,val4,val4,val5,null,null等...这是否可以不用循环进行过滤? 解决方案 您应该使用IS NOT NULL. (比较运算符=和都在表达式的两侧给出UNKNOWN.) SELECT * FROM table WHERE YourColumn IS NOT NULL; 为了完整,我会提到,在mysql中,您还可以否定 Null Safe Equality Operator 但这不是标准SQL. SELECT * FROM table WHERE NOT (YourColumn NULL); 编辑以反映评论.
26 2023-09-15
编程技术问答社区
如何使用 springframework BeanUtils copyProperties 忽略空值?
我想知道如何使用Spring Framework将属性从对象源复制到忽略零值的对象. 我实际上使用Apache Beanutil,此代码 beanUtils.setExcludeNulls(true); beanUtils.copyProperties(dest, source); 这样做.但是现在我需要使用春季. 有帮助吗? 很多 解决方案 您可以创建自己的方法来复制属性,同时忽略null值. public static String[] getNullPropertyNames (Object source) { final BeanWrapper src = new BeanWrapperImpl(source); java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors(); Set emptyNames =
74 2023-09-08
编程技术问答社区
@Nullable和SonarQube '有条件执行的块应该是可达到的'警告
软件包具有以下包装info.java: @ParametersAreNonnullByDefault package foo; import javax.annotation.ParametersAreNonnullByDefault; 类具有以下方法: private static String toIsoString(@Nullable Instant dateTime) { return dateTime == null ? null : dateTime.toString(); } Sonarqube(6.2版,Sonarjava 4.14.0.11784)给出以下警告(Squid:S2583): 我如何说服Sonarqube代码实际上是正确的? 有趣的是,想法中的Sonarlint插件(3.0.0.2041)不会产生相同的警告. 解决方案 显然,这个问题是由我们使用sonar-scanner而没有指定sonar.java.librar
24 2023-09-06
编程技术问答社区
标记方法调用,使其总是返回非空结果
scala编译器具有-Xcheck-null,它试图检查运行时是否有任何潜在的无效指针删除. 对我来说还可以,但是我得到的误报太多了,即我定义了logger: private final val LOGGER: Logger = LoggerFactory.getLogger(classOf[GenericRestImpl]) 方法getLogger永远不会返回null.我如何将这些知识传递给编译器,以免抱怨? [WARNING] TestImpl.scala:31: warning: potential null pointer dereference: LOGGER.debug [WARNING] LOGGER.debug("Using {} for sort", sortParam) 当我创建新实例时,我可以用NotNull特征标记: return new Foo() with NotNull. 没关系,但是如何处理从其他方法返回的对
20 2023-08-20
编程技术问答社区
对Scala的NotNull特性的库支持
注意:截至Scala 2.11,NotNull被弃用. 据我所知,如果您希望参考类型不可删除,则必须混合魔术NotNull特征,并且编译器将自动阻止您在其中放入null -able值.请参阅此缺少的是,对不可用类型的不错的图书馆支持.如果我想编写一个不需要直接接口Java代码的软件包,并且我想防止此软件包中的所有类型使用null默认情况下,我别无选择,只能重新定义所有构建变量,例如So so //can't actually do that, but just to give the general idea class NString extends String with NotNull class NMap[X,Y] extends Map[X,Y] with NotNull ... 我希望Scala具有(作为编译器插件或库)为我写 import collections.notnull._ 为了轻松禁止在特定的Scala文件中使用null 是否有一个选项
16 2023-08-20
编程技术问答社区