Как отобразиться, тип столбца Интервала PostgreSQL в В спящем режиме?

Под PostgreSQL я использую PersistentDuration поскольку отображение между sql вводит интервал и продолжительность, но это не работает.

Другой пользователь нашел ту же проблему, и идите с его собственным классом:

public void nullSafeSet(PreparedStatement statement, Object value, int index) 
        throws HibernateException, SQLException { 
    if (value == null) { 
        statement.setNull(index, Types.OTHER); 
    } else { 
        Long interval = ((Long) value).longValue(); 
        Long hours = interval / 3600; 
        Long minutes = (interval - (hours * 3600)) / 60; 
        Long secondes = interval - (hours * 3600) - minutes * 60; 
            statement.setString(index, "'"+ hours +":" 
                    + intervalFormat.format(minutes) + ":" 
                    + intervalFormat.format(secondes)+"'"); 

    } 
}

Но это не работает с реальным форматом, потому что это предполагает, что шаблон интервала только "hh:mm:ss". Дело не в этом: посмотрите

Здесь несколько реальных примеров я должен проанализировать от базы данных:

1 day 00:29:42
00:29:42
1 week 00:29:42
1 week 2 days  00:29:42
1 month 1 week 2 days  00:29:42
1 year 00:29:42
1 decade 00:29:42

http://www.postgresql.org/docs/current/interactive/datatype-datetime.html

У Вас есть чистое решение?

13
задан Vlad Mihalcea 29 August 2019 в 06:46
поделиться