实体字段如下
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
/***
* app图标
*/
@JsonFormat
public class ApiCertificate{
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
private String url;
private Integer order;
private Integer creatorId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime createTime;
}
数据库使用主键自增,因此在插入sql时不再需要以下形式
insert to api_cert(id,url,order,creator_id) value(?,?,?,?)
实际插入语句
以下即可
insert to api_cert(url,order,creator_id) values(?,?,?)
解决办法,在主键上加注解
@Transient 此关键字是JSR-220/JSR-338注解
修改后代码如下
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxx.web.bean.PagesStatic;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
/***
* app图标
*/
@JsonFormat
public class ApiCertificate{
@Id
@GeneratedValue(generator = "JDBC")
@Transient
private Integer id;
private String url;
private Integer order;
private Integer creatorId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime createTime;
}