O.Kuz
O.Kuz

Reputation: 387

Inserting DEFAULT value for Date.sql column

I am using Mysql DBMS and I am trying to put null value into the Date column that was mapped in POJO. User may insert value to date input tag(Date is not mandatory field), when input value for date is empty I get

request sent by client was incorrect

I know sql.Date can't contain null value. How can I fix this?

Entity

@Entity
@Table(name = "DEPUTES_APPEAL")
public class DeputeAppeal extends Appeal implements Serializable {

    private static final long serialVersionUID = -5527566248002296042L;

    @Id
    @Column(name = "ID")
    @GeneratedValue
    private int id;

    @Column(name = "TypeOfDeputeAppeal")
    private String typeOfDeputeAppeal;

    @Column(name = "outNumber")
    private String outNumber;

    @Column(name = "outDate")
    private Date outDate;

    @Column(name = "countOfPages")
    private String countOfPages;

    @Column(name = "nameOfDepute")
    private String nameOfDepute;

    @Column(name = "incomeNumber")
    private String incomeNumber;

    @Column(name = "incomingDate")
    private Date incomingDate;

    @Column(name = "themeOfAppeal")
    private String themeOfAppeal;

    @Column(name = "shortContentOfAppeal")
    private String shortContentOfAppeal;

    @Column(name = "unitWhoDoResolution")
    private String unitWhoDoResolution;

    @Column(name = "contentOfResolution")
    private String contentOfResolution;

    @Column(name = "checkForPlagiarism")
    private String checkForPlagiarism;

    @Column(name = "nameAndAddressOfApplicant")
    private String nameAndAddressOfApplicant;

    @Column(name = "dateForCheck")
    private Date dateForCheck;

    @Column(name = "mainWorker")
    private String mainWorker;

    @Column(name = "secondaryWorkers")
    private String secondaryWorkers;

    @Column(name = "statusOfWorking")
    private String statusOfWorking;

    @Column(name = "result")
    private String result;

    @Column(name = "filePath")
    private String FilePath;

    public DeputeAppeal(){}

jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html lang="uk">
<head>
  <title>Додати нове</title>
  <!-- Bootstrap core -->
  <meta charset="utf-8">
  <!-- Jquery -->
  <script src="../../../resources/bootstrap/jquery/jquery-2.2.2.min.js"></script>

  <!-- Latest compiled JavaScript -->
  <script src="../../../resources/bootstrap/js/bootstrap.js"></script>

  <link href="<c:url value="/resources/bootstrap/css/bootstrap.css" />" rel="stylesheet">

  <link href="<c:url value="/resources/styles/addNewDeputeAppealPage.css" />" rel="stylesheet">

</head>

<body>

<div class="container head">

  <a href="../generalView/mainPage.jsp"><img class="header" src="../../../resources/images/police.png"></a>

</div>

<c:url value="/deputeAppeal/newDeputeAppealPost" var="SaveUrl"/>

<form:form modelAttribute="${deputeAppeal}" method="POST" action="${SaveUrl}">

  <div class="container content">

    <div class="form-group" id="firstBlock">

      <label>Вид</label>
      <select path="typeOfDeputeAppeal" name="typeOfDeputeAppeal" class="form-control">
        <option disabled selected value>Тип</option>
        <option value="Звернення">Звернення</option>
        <option value="Запит">Запит</option>
      </select>


      <label>Номер вих.</label>
      <input type="text" class="form-control" path="outNumber" name="outNumber"/>


      <label>Дата вих.</label>
      <input type="date" class="form-control" path="outDate" name="outDate"/>


      <label>К-сть сторінок</label>
      <input type="number" class="form-control" placeholder="наприклад 1+1" path="countOfPages" name="countOfPages"/>


      <label>П.І.Б народного депутата</label>
      <input type="text" class="form-control" path="nameOfDepute" name="nameOfDepute"/>


      <label>Номер вх.</label>
      <input type="text" class="form-control" path="incomeNumber" name="incomeNumber"/>


      <label>Дата вх.</label>
      <input type="date" class="form-control" path="incomingDate" name="incomingDate"/>


      <label>Тематика</label>
      <select class="form-control" path="themeOfAppeal" name="themeOfAppeal">
        <option disabled selected value>Тип</option>
        <option value="Неналежне розслідування крим.проваджень">Неналежне розслідування крим.проваджень</option>
        <option value="Соц.побутові питання працівників поліції">Соц.побутові питання працівників поліції</option>
        <option value="Інші питання">Інші питання</option>
      </select>


      <label>Короткий зміст</label>
      <textarea class="form-control" path="shortContentOfAppeal" name="shortContentOfAppeal"></textarea>


    </div>

    <div class="form-group" id="secondForm">

      <label>Керівник що вчинив резолюцію</label>
      <select class="form-control" path="unitWhoDoResolution" name="unitWhoDoResolution">
        <option disabled selected value>Тип</option>
        <option value="Деканоідзе Х.">Деканоідзе Х.</option>
        <option value="Троян В.А.">Троян В.А.</option>
        <option value="Вакуленко О.Ф.">Вакуленко О.Ф.</option>
        <option value="Фацевич О.Ю.">Фацевич О.Ю.</option>
        <option value="Руденко А.А.">Руденко А.А.</option>
        <option value="Бушуєв К.В.">Бушуєв К.В.</option>
      </select>

      <label>Зміст резолюції</label>
      <textarea class="form-control" path="contentOfResolution" name="contentOfResolution"></textarea>

      <label style="color: red;">Повторність</label>
      <input type="checkbox" value="повторно" path="checkForPlagiarism" name="checkForPlagiarism"/>Так<br>

      <label>П.І.Б. та адреса заявника</label>
      <textarea class="form-control" path="nameAndAddressOfApplicant" name="nameAndAddressOfApplicant"></textarea>


      <label>Дата виконання документу</label>
      <input type="date" class="form-control" path="dateForCheck" name="dateForCheck"/>

      <label>Служба виконавця</label>
      <select class="form-control" path="mainWorker" name="mainWorker">
        <option disabled selected value>Тип</option>
        <option value="ДПО">ДПО</option>
        <option value="ДЗЕ">ДЗЕ</option>
        <option value="ДПП">ДПП</option>
      </select>

      <label>Співвиконавці</label>
      <input type="text" class="form-control" path="secondaryWorkers" name="secondaryWorkers"/>

      <label>Наслідки виконання</label>
      <select class="form-control" path="statusOfWorking" name="statusOfWorking">
        <option disabled selected value>Тип</option>
        <option value="Виконано">Виконано</option>
        <option value="В роботі">В роботі</option>
        <option value="Не виконано">Не виконано</option>
      </select>

      <label>Що зроблено</label>
      <textarea class="form-control" path="result" name="result"></textarea>

    </div>

  </div>

  <div class="container">
    <div class="row">
      <div class="col-md-12 footer_button">
        <button type="submit" value="Save" class="btn btn-success">Зареєструвати</button>
      </div>
    </div>
  </div>

</form:form>
</body>
</html>

Thanks all

Upvotes: 0

Views: 922

Answers (2)

arjunhitachi
arjunhitachi

Reputation: 21

You need to handle that while creating a table itself.

CREATE TABLE tablename( columnname varchar(100) DEFAULT 'Defaultvalue' );

Upvotes: 1

veljkost
veljkost

Reputation: 1932

Actually you can insert null into MySql data column that is mapped with java.sql.Date column. You need to check if your outDate column in DEPUTES_APPEAL table is defined with default value. You can change it to default to NULL:

alter table your_table modify your_date_column date null default null;

Upvotes: 1

Related Questions