diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/BooleanExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/BooleanExpression.java index cfb630759..720753623 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/BooleanExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/BooleanExpression.java @@ -29,7 +29,7 @@ public abstract class BooleanExpression extends LiteralExpression imple private static final long serialVersionUID = 3797956062512074164L; @Nullable - private volatile BooleanExpression eqTrue, eqFalse; + private transient volatile BooleanExpression eqTrue, eqFalse; @Nullable private volatile BooleanExpression not; diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/CollectionExpressionBase.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/CollectionExpressionBase.java index b87525ef1..d460333ee 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/CollectionExpressionBase.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/CollectionExpressionBase.java @@ -36,10 +36,10 @@ public abstract class CollectionExpressionBase, E> exten private static final long serialVersionUID = 691230660037162054L; @Nullable - private volatile BooleanExpression empty; + private transient volatile BooleanExpression empty; @Nullable - private volatile NumberExpression size; + private transient volatile NumberExpression size; public CollectionExpressionBase(Expression mixin) { super(mixin); diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateExpression.java index 0cb560954..1eec93da9 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateExpression.java @@ -54,13 +54,13 @@ public abstract class DateExpression extends TemporalExpre } @Nullable - private volatile NumberExpression dayOfMonth, dayOfWeek, dayOfYear; + private transient volatile NumberExpression dayOfMonth, dayOfWeek, dayOfYear; @Nullable - private volatile DateExpression min, max; + private transient volatile DateExpression min, max; @Nullable - private volatile NumberExpression week, month, year, yearMonth, yearWeek; + private transient volatile NumberExpression week, month, year, yearMonth, yearWeek; public DateExpression(Expression mixin) { super(mixin); diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateTimeExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateTimeExpression.java index f3b9f03b5..d195d1739 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateTimeExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/DateTimeExpression.java @@ -73,16 +73,16 @@ public abstract class DateTimeExpression extends TemporalE } @Nullable - private volatile NumberExpression dayOfMonth, dayOfWeek, dayOfYear; + private transient volatile NumberExpression dayOfMonth, dayOfWeek, dayOfYear; @Nullable - private volatile NumberExpression hours, minutes, seconds, milliseconds; + private transient volatile NumberExpression hours, minutes, seconds, milliseconds; @Nullable - private volatile DateTimeExpression min, max; + private transient volatile DateTimeExpression min, max; @Nullable - private volatile NumberExpression week, month, year, yearMonth, yearWeek; + private transient volatile NumberExpression week, month, year, yearMonth, yearWeek; public DateTimeExpression(Expression mixin) { super(mixin); diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/EnumExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/EnumExpression.java index 6dba76545..9b322ea37 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/EnumExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/EnumExpression.java @@ -26,6 +26,8 @@ public abstract class EnumExpression> extends LiteralExpressio private static final long serialVersionUID = 8819222316513862829L; + private transient volatile NumberExpression ordinal; + public EnumExpression(Expression mixin) { super(mixin); } @@ -46,7 +48,10 @@ public abstract class EnumExpression> extends LiteralExpressio * @return ordinal number */ public NumberExpression ordinal() { - return Expressions.numberOperation(Integer.class, Ops.ORDINAL, mixin); + if (ordinal == null) { + ordinal = Expressions.numberOperation(Integer.class, Ops.ORDINAL, mixin); + } + return ordinal; } } \ No newline at end of file diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/LiteralExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/LiteralExpression.java index 92a796645..24b8d2415 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/LiteralExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/LiteralExpression.java @@ -27,7 +27,7 @@ import com.querydsl.core.types.Ops; public abstract class LiteralExpression extends ComparableExpression { @Nullable - private volatile StringExpression stringCast; + private transient volatile StringExpression stringCast; public LiteralExpression(Expression mixin) { super(mixin); diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/NumberExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/NumberExpression.java index 456093dc7..36a4aabf5 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/NumberExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/NumberExpression.java @@ -71,16 +71,16 @@ public abstract class NumberExpression> extends } @Nullable - private volatile NumberExpression abs, sum, min, max, floor, ceil, round; + private transient volatile NumberExpression abs, sum, min, max, floor, ceil, round; @Nullable - private volatile NumberExpression avg, sqrt; + private transient volatile NumberExpression avg, sqrt; @Nullable - private volatile NumberExpression negation; + private transient volatile NumberExpression negation; @Nullable - private volatile StringExpression stringCast; + private transient volatile StringExpression stringCast; public NumberExpression(Expression mixin) { super(mixin); diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/SimpleExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/SimpleExpression.java index 59c22c29f..be6b971ca 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/SimpleExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/SimpleExpression.java @@ -32,13 +32,13 @@ public abstract class SimpleExpression extends DslExpression { private static final long serialVersionUID = -4405387187738167105L; @Nullable - private volatile NumberExpression count; + private transient volatile NumberExpression count; @Nullable - private volatile NumberExpression countDistinct; + private transient volatile NumberExpression countDistinct; @Nullable - private volatile BooleanExpression isnull, isnotnull; + private transient volatile BooleanExpression isnull, isnotnull; public SimpleExpression(Expression mixin) { super(mixin); diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java index b02030ecb..4dba60dab 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/StringExpression.java @@ -28,16 +28,16 @@ public abstract class StringExpression extends LiteralExpression { private static final long serialVersionUID = 1536955079961023361L; @Nullable - private volatile NumberExpression length; + private transient volatile NumberExpression length; @Nullable - private volatile StringExpression lower, trim, upper; + private transient volatile StringExpression lower, trim, upper; @Nullable - private volatile StringExpression min, max; + private transient volatile StringExpression min, max; @Nullable - private volatile BooleanExpression isempty; + private transient volatile BooleanExpression isempty; public StringExpression(Expression mixin) { super(mixin);