更新后反序列化失败.
我从我的更新微服Spring 1.5.10.RELEASE来Spring 2.0.3.RELEASE,也更新了lombok从1.16.14到1.18.0和jackson-datatype-jsr310从2.9.4到2.9.6.
JSON字符串 -
{"heading":"Validation failed","detail":"field must not be null"}
Run Code Online (Sandbox Code Playgroud)
班级 -
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class ErrorDetail {
private final String heading;
private final String detail;
private String type;
}
Run Code Online (Sandbox Code Playgroud)
方法调用 -
ErrorDetail errorDetail = asObject(jsonString, ErrorDetail.class);
Run Code Online (Sandbox Code Playgroud)
用于反序列化的方法 -
import com.fasterxml.jackson.databind.ObjectMapper;
// more imports and class defination.
private static <T> T asObject(final String str, Class<T> clazz) {
try { …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
USE pricingdb
go
CREATE TABLE dbo.Events_060107_2012
(
Date_Time varchar(20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Event_Type TEXT,
Month_of_Year TEXT,
Survey DOUBLE,
Actual DOUBLE,
Prior_Data DOUBLE,
Revised DOUBLE,
Relevance FLOAT,
Ticker TEXT
);
Run Code Online (Sandbox Code Playgroud)
走
我收到一个错误:
"Incorrect syntax near ','. Level 15, State 1, Line 6"
Run Code Online (Sandbox Code Playgroud)
我知道这应该是一个非常容易解决的问题,但无论出于何种原因,我都很难理解如何解决这个问题.我对SQL的了解至多是初学者,所以我读到的大多数其他主题都比我头脑稍微高一点.
在此先感谢您的帮助.
我有一张表说table1有3列column1, column2 and column3.
的column1和column2是一个FOREIGN KEY与其它2个表.但是,数据column3来自n个表.
例如,让我们考虑一下Facebook.要显示活动,它可能会维护一个可能具有user1 photoliked photo1或的表user1 statusliked status1.所以在这种情况下column3不能FOREIGN KEY用特定的表.
现在有两种获取真实数据的方法 -
第一路 -
SELECT user_id,
verb_id,
CASE WHEN verb_id = photoliked THEN
(SELECT photo_name FROM photos WHERE photo_id = column3) -- getting the desired data from the third column
WHEN verb_id = statusliked THEN
(SELECT status FROM statustable WHERE status_id = column3)
ELSE '' END AS performedon …Run Code Online (Sandbox Code Playgroud) 任何人都可以告诉我输出变化的原因.
public class Demo {
public void demo()
{
Integer y = 567;
Integer x = y;
System.out.println(x + " " + y);
System.out.println(y == x);
y++;
System.out.println(x + " " + y);
System.out.println(y == x);
y--;
System.out.println(x + " " + y);
System.out.println(y == x);
}
public static void main(String args[])
{
Demo obj = new Demo();
obj.demo();
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
567 567
true
567 568
false
567 567
False
Run Code Online (Sandbox Code Playgroud)
这就是为什么我得到最后的错误.
我有一个表 - 用id它auto_increment和一个email定义为的列UNIQUE.
考虑将auto_increment其设置为1.
在我stored procedure当我INSERT的新行独特的电子邮件ID AUTO_INCREMENT列递增.正确的行为.
现在,当我再次尝试INSERT同一封电子邮件时UNIQUE KEY,违反了.我检查一下并做了一个ROLLBACK.但是auto_increment现在设置为2.为什么?
在第三次尝试中INSERT,这次使用唯一的电子邮件插入行,但id字段值为3.不好.
有没有办法可以将值减少到2.