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ł yyyydd
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?