2010-12-03 34 views
2

comment puis-je gérer une fois (comme 14:33) lors des calculs et des économies dans la base de données? Quel type de données puis-je utiliser pour cela dans une base de données HSQL?quel type de données pour utiliser un temps dans gorm?

Je veux calculer des choses comme la charge de travail ou le temps de repos. Y a-t-il une possibilité intégrée de convertir les temps en décimales?

Merci!

Répondre

4

En ce qui concerne la représentation temps, le type le plus pratique devrait être Joda Time's LocalTime. Il existe plusieurs convertisseurs disponibles pour map the LocalTime type to the database. Vous avez besoin des packages JAR joda-time and joda-time-hibernate.

Votre classe de domaine, pourrait ressembler à ceci:

import org.joda.time.contrib.hibernate.PersistentLocalTimeAsTime 
import org.joda.time.LocalTime 

class TimeDomain { 
    LocalTime localTime 

    static mapping = { 
     localTime type: PersistentLocalTimeAsTime 
    } 

    // business logic would belong to a service class 
    LocalTime plusMinutes(int minutes) { 
     localTime.plusMinutes(minutes) 
    } 
}