[Resolvido]Calendar ou Date ?

Pessoal, preciso salvar no banco data e hora. Que tipo eu uso ? Calendar ou date ?
Estou usando Date mas ele so salva a data, a hora fica zerada(00:00).

na classe


	@Column(name="data_inicio", nullable = false)
	@Temporal(value=TemporalType.DATE)
	private Date dataInicio;

pegar valor na pagina

	<p:outputLabel value="Data início:" for="dataInicio" />
				<p:calendar id="dataInicio" value="#{tarefaBean.tarefa.dataInicio}" pattern="dd/MM/yyyy HH:mm"  size="10" required="true"/>

listando na pagina

	<p:column style="white-space:normal !important;" width="20%">
							<f:facet name="header">Início</f:facet>
							<h:outputText value="#{tarefa.dataInicio}">
								<f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss"/>
							</h:outputText>
						</p:column>

Quando lista a primeira vez fica com a hora certinha, mas depois que eu dou um refresh na pagina, o horario fica zerado. fica assim:

19/02/2016 00:00

Nao entendo o que esta acontecendo.

Manipular datas utilizando Calendar:

    package trabalhandocomdatas;

    /**
     * @author Állef Torres
     */

    import java.text.DateFormat;
    import java.util.Date;
    import java.util.Calendar;

    public class TrabalhandoComDatas {

        
        public static void main(String[] args) {
            
            Calendar dataInicial = Calendar.getInstance();
            Calendar dataFinal = Calendar.getInstance() ;
            Date d = new Date(); // aramzenando a data do sistema utilizando Date
            Calendar c = Calendar.getInstance(); // cria um objeto calendar
            
            //método setTime()
            dataInicial.setTime(d);
            dataFinal.setTime(d);
            c.setTime(d);
            c.add(Calendar.DAY_OF_YEAR, 6); // adicionamos seis dias a data atual
            c.add(Calendar.MONTH,2); // Adicionamos dois meses a data atual
            c.add(Calendar.YEAR,5);//adicionamos 5 anos a data atual
            DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
            System.out.println( df.format(c.getTime()) );
            DateFormat df1 = DateFormat.getDateInstance(DateFormat.MEDIUM);
            System.out.println( df1.format(c.getTime()) );
            DateFormat df2 = DateFormat.getDateInstance(DateFormat.LONG);
            System.out.println( df2.format(c.getTime()) );
            DateFormat df3 = DateFormat.getDateInstance(DateFormat.FULL);
            System.out.println( df3.format(c.getTime()) );
            
            dataFinal.add(Calendar.DAY_OF_YEAR, 12);
            int count = 0;
            while(dataInicial.get(Calendar.DAY_OF_YEAR) != dataFinal.get(Calendar.DAY_OF_YEAR)){
                dataInicial.add(Calendar.DAY_OF_YEAR,1);
                count++;
            }
            
            System.out.print(count);
        }
        
    }

Pra salvar Data e Hora, use @Temporal(value=TemporalType.TIMESTAMP)

Isso mesmo! Obgrigado! resolveu meu problema :slightly_smiling: