From ee8a18a528600f11bd721364d7c09760a1aa55a5 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 30 Jan 2020 11:35:05 +0800 Subject: [PATCH] --- src/org/redkale/source/EntityInfo.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/org/redkale/source/EntityInfo.java b/src/org/redkale/source/EntityInfo.java index edf7fdd54..655dfbeed 100644 --- a/src/org/redkale/source/EntityInfo.java +++ b/src/org/redkale/source/EntityInfo.java @@ -97,6 +97,9 @@ public final class EntityInfo { //用于存在database.table_20160202类似这种分布式表 private final Set tables = new CopyOnWriteArraySet<>(); + //不能为null的字段名 + private final Set notNullColumns = new CopyOnWriteArraySet<>(); + //分表 策略 private final DistributeTableStrategy tableStrategy; @@ -322,6 +325,9 @@ public final class EntityInfo { updateattrs.add(attr); updateAttributeMap.put(fieldname, attr); } + if (col != null && !col.nullable()) { + notNullColumns.add(fieldname); + } } queryattrs.add(attr); fields.add(fieldname); @@ -1070,6 +1076,14 @@ public final class EntityInfo { return logger.isLoggable(l) && l.intValue() >= this.logLevel; } + public boolean isNotNullable(String fieldname) { + return notNullColumns.contains(fieldname); + } + + public boolean isNotNullable(Attribute attr) { + return attr == null ? false : notNullColumns.contains(attr.field()); + } + /** * 判断日志级别 *