JDBC ResultSetの列の抽出
Q&A
Closed
解決したいこと
社員名簿の新規追加画面を作成中、MySQLのcolumn(使い方間違ってたらすみません)が1つエラーになっていたのでMySQL内にて、それを削除して同じ列に新しく別の名前のcolumnを追加しました。
ですがspringbootにうまく反映されず、エラーになったので解決方法を教えてほしいです。
ちなみにエラーになる前に追加ボタンを押したところ、エラーの画面には
なりましたがデータベースには問題なく追加できていました。
発生している問題・エラー
Could not extract column [4] from JDBC ResultSet [Zero date value prohibited] [n/a]
JDBC ResultSet から列 [4] を抽出できませんでした [ゼロの日付値は禁止] [n/a]
該当するソースコード
package com.example.demo.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
/**
* ユーザー情報 Entity
*/
@Entity
@Data
@Table(name = "user")
public class User implements Serializable {
/**
* ID
*/
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 名前
*/
@Column(name = "name")
private String name;
/**
* フリガナ
*/
@Column(name = "name_kana")
private String nameKana;
/**
* 住所
*/
@Column(name = "address")
private String address;
/**
* 入社日 「joinにしていたがMySQLでエラーに
* なるのでjoinDayに変更した」
*/
@Column(name = "join_day")
private String joinDay;
/**
* 性別
*/
@Column(name = "gender")
private String gender;
/**
* 生年月日
*/
@Column(name = "birthday")
private String birthday;
/**
* 電話番号
*/
@Column(name = "phone")
private String phone;
/**
* 雇用形態
*/
@Column(name = "employment")
private String employment;
/**
* 備考
*/
@Column(name = "remarks")
private String remarks;
/**
* 更新日時
*/
@Column(name = "update_date")
private Date updateDate;
/**
* 登録日時
*/
@Column(name = "create_date")
private Date createDate;
/**
* 削除日時
*/
@Column(name = "delete_date")
private Date deleteDate;
/** 性別のMapオブジェクト */
public Map<String, String> getGenderItems() {
Map<String, String> genderMap = new LinkedHashMap<String, String>();
genderMap.put("0", "男");
genderMap.put("1", "女");
return genderMap;
}
/** 雇用形態のMapオブジェクト */
public Map<String, String> getEmploymentItems() {
Map<String, String> employmentMap = new LinkedHashMap<String, String>();
employmentMap.put("0", "正社員");
employmentMap.put("1", "パート");
employmentMap.put("2", "アルバイト");
return employmentMap;
}
}
自分で試したこと
自分で調べたり、SQLを確認しましたがわからなかったので教えてください。
0