Проблема в том, что вход (типа даты) не может отправить дату в класс, потому что, когда я показываю данные таблицы, поле даты кажется пустым. Я читал, что входная дата возвращает String, готовую к ее использованию в Sql, поэтому я присвоил ее переменной String (и после выполнения преобразования), я попытался напрямую присвоить входную переменную Date, но это все еще происходит. Код xhtml:
<h:form id="formAdd" style="visibility: hidden">
Formulario
<table>
<tr>
<th>ID</th>
<th>Nombre</th>
<th>Fecha Ingreso</th>
</tr>
<tr>
<th>
<h:inputText id="idN" value="#{consultasMB.id}"/>
</th>
<th>
<h:inputText id="nameN" value="#{consultasMB.name}"/>
</th>
<th>
<input id="dateN" type="date" value="#{consultasMB.dateSt}"/>
</th>
</tr>
</table>
<h:commandButton action="#{consultasMB.addC()}" value="Agregar"/>
</h:form>
И классы (я добавляю только важный код) "ConsultasMB", "CuHelper" и "Cuidador" (сгенерированные Hibernate) соответственно:
public void addC(){
int n1 = Integer.parseInt(id);
Date d = Date.valueOf(dateSt);
cuidadorAux.setIdCuidador(n1);
cuidadorAux.setNombre(name);
cuidadorAux.setFechaIngreso(d);
cHelper.Save(cuidadorAux);
}
//I didn't add in this post the getters & setters
public void Save(Cuidador cuid){
Transaction trns = null;
Session session = NewHibernateUtil.getSessionFactory().openSession();
try{
trns = session.beginTransaction();
session.save(cuid);
session.getTransaction().commit();
}catch(RuntimeException e){
if(trns!=null) trns.rollback();
e.printStackTrace();
}finally{
session.flush();
session.close();
}
}
//I suppose that this method works properly, because (a similar one) worked perfectly
//But, of course, without date types
public class Cuidador implements java.io.Serializable {
private int idCuidador;
private String nombre;
private Date fechaIngreso;
public Cuidador() {
}
public Cuidador(int idCuidador) {
this.idCuidador = idCuidador;
}
public Cuidador(int idCuidador, String nombre, Date fechaIngreso) {
this.idCuidador = idCuidador;
this.nombre = nombre;
this.fechaIngreso = fechaIngreso;
}
public int getIdCuidador() {
return this.idCuidador;
}
public void setIdCuidador(int idCuidador) {
this.idCuidador = idCuidador;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Date getFechaIngreso() {
return this.fechaIngreso;
}
public void setFechaIngreso(Date fechaIngreso) {
this.fechaIngreso = fechaIngreso;
}
}