Spring/Hibernate Web アプリケーションを開発しています。jspページからの入力がさまざまなサービスで使用されるように保存され、最終的にデータベースに保存されるDataTranseferObjectがあります。
jsp ページのフィールドの 1 つがdeliveryDate
. データベースに日付型として保存したい:
delivery.java から
@Column(name = "DELIVERY_DATE")
private Date deliveryDate;
public void setDeliveryDate(Date deliveryDate){
this.deliveryDate= deliveryDate;
}
public Date getDeliveryDate(){
return deliveryDate;
}
"yyyy-MM-dd"
フォーマットのみが許可されるように、jsp ページのフィールドを検証しようとしています。これを行うには、DataTransferObjectdeliveryDate
の型としてを使用し、注釈を使用してそれを検証しています。String
@Pattern
@Pattern(regexp="((19|20)\\d\\d)-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])", message="please enter date in fromat yyyy-MM-dd")
@NotNull(message="delivery date is a required field")
private String deliveryDate;
データベースに Date 型として保存したいので、型に変換する必要がありString
ますDate
。これは、サービスを使用して実行しようとしています:
@Transactional
public Date stringToDateConversion(String stringDate){
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("yyyy-MM-dd");
date = (Date) formatter.parse(stringDate);
return date;
}
しかし、それは機能していませformatter.parse(stringDate)
ん"Unhandled exception type ParseException"
コントローラーで使用できるように、サービスが Date 型を返す必要があります。
Date deliveryDate= deliveryService.stringToDateConversion(deliveryDto.getDeliveryDate());
delivery.setDeliveryDate(deliveryDate);
String
を型に正しく変換してDate
型を返すにはどうすればよいDate
ですか?
助けてくれてありがとう!/D