實體字段如下
@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; }