Witam,
chciałbym pobierać datę wpisaną przez użytkownika za pomocą formularza osadzonego w JSP i zapisać ją do postgresql.
Chciałbym aby format daty był yyyy:mm:dd
Nie bardzo wiem, jakiego formatu użyć żeby to uzyskać, więc zrobiłem zwykłe pole String, ale przy zapisie do bazy mam komunikat:
org.postgresql.util.PSQLException: ERROR: column "dataur" is of type date but expression is of type character varying
W postgresie kolumna ma format date.
Wkleje kod klasy:
package transport;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
@Entity
@Table(name = "kierowca")
public class Kierowca {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
int idKier;
@Basic(optional = false)
@Column(name = "imie", unique = false, nullable = true)
String imie;
@Basic(optional = false)
@Column(name = "nazwisko", unique = false, nullable = true)
String nazwisko;
@Basic(optional = false)
@Column(name = "dataur", unique = false, nullable = true)
String dataUr;
@Basic(optional = false)
@Column(name = "stawka", unique = false, nullable = true)
int stawka;
@Basic(optional = false)
@Column(name = "uprawnienia", unique = false, nullable = true)
String uprawnienia;
@Basic(optional = false)
@Column(name = "stzatrudnienia", unique = false, nullable = true)
int stZatrudnienia;
public Kierowca(String imie, String nazwisko, String dataUr, int stawka,
String uprawnienia, int stZatrudnienia) {
super();
this.imie = imie;
this.nazwisko = nazwisko;
this.dataUr = dataUr;
this.stawka = stawka;
this.uprawnienia = uprawnienia;
this.stZatrudnienia = stZatrudnienia;
}
public static void addKierowca (String imie, String nazwisko, String dataur, int stawka, String uprawnienia, int stanz){
SessionFactory factory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session1 = factory.openSession();
session1.beginTransaction();
Kierowca kierowca = new Kierowca(imie,nazwisko,dataur, stawka, uprawnienia, stanz);
session1.save(kierowca);
session1.getTransaction().commit();
session1.close();
}
}
i kod strony obsługującej formularz:
<%@ include file="header.jsp"%>
<%@ include file="if_session.jsp"%>
<%
String imie = request.getParameter("imie");
String nazwisko = request.getParameter("nazwisko");
String dataur = request.getParameter("dataur");
int stawka = Integer.parseInt(request.getParameter("stawka"));
String uprawnienia = request.getParameter("uprawnienia");
int stanz = Integer.parseInt(request.getParameter("status"));
Kierowca.addKierowca(imie,nazwisko,dataur,stawka,uprawnienia,stanz);
response.sendRedirect("displayKierowca.jsp");
%>
<%@ include file="footer.jsp"%>
chodzi mi konkretnie o pobierany parametr dataur.
Co mam zrobić, żeby uzyskać oczekiwany efekt?