小编Vis*_*u K的帖子

将当前时区设置为 @JsonFormat 时区值

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "Asia/Kolkata")
private Date activationDate;
Run Code Online (Sandbox Code Playgroud)

从上面的 java 代码中,我想使用以下方法将时区值设置为当前系统时区: TimeZone.getDefault().getID() - 它返回的值是“Asia/Kolkata”

但是如果我将此代码设置为 json 格式

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = TimeZone.getDefault().getID())
Run Code Online (Sandbox Code Playgroud)

我收到类似“注释属性 JsonFormat.timezone 的值必须是常量表达式”之类的错误

请帮我解决这个问题。

提前致谢,毗湿奴

java timezone json dto spring-data-jpa

7
推荐指数
2
解决办法
4万
查看次数

Spring JPA规范不在查询中

这里使用Spring JPA规范的IN标准查询工作正常.但我不知道如何使用"NOT IN"..

那么我如何使用Spring JPA规范使用NOT IN条件查询.

SearchSpecification<User> spec = new CommonSpecification<Case>(new SearchCriteria("client.id", Operator.NOT_IN, clientIdList));

@Override
public Predicate toPredicate(Root<T> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
    Predicate predicate = null;
    switch (searchCriteria.getOperator()) {

    case IN:
        if (searchCriteria.getValue() instanceof List<?>) {
            predicate = getFieldPath(searchCriteria.getKey(), root)
                    .in(((List<?>) searchCriteria.getValue()).toArray());
        }
        break;
    case NOT_IN:
        //What to do???
        break;
    default:
        break;

    }
    return predicate;
}


private Path<Object> getFieldPath(String key, Root<T> root) {
    Path<Object> fieldPath = null;
    if (key.contains(".")) {
        String[] fields = key.split("\\.");
        for (String field : …
Run Code Online (Sandbox Code Playgroud)

spring spring-data-jpa jpa-2.1

4
推荐指数
1
解决办法
5430
查看次数

标签 统计

spring-data-jpa ×2

dto ×1

java ×1

jpa-2.1 ×1

json ×1

spring ×1

timezone ×1