H2 base de données valeur par défaut de la colonne TIMESTAMP

Je suis en train d'écrire les tests d'intégration avec H2 base de données.
Ma base de données (produits) d'initialisation comprennent ce script (car généré table de jointure ne dispose pas de cette colonne):

ALTER TABLE INT_USR ADD IU_INSDTTM TIMESTAMP DEFAULT NOW();

C'est comment j'ai créer des enregistrements:

Integration integrationOne = createIntegration(firstId, "FIRST");
Integration integrationTwo = createIntegration(secondId, "SECOND");
flushAndClear();
userService.logRecentIntegration(integrationOne.getId(), user.getId());
flushAndClear();
userService.logRecentIntegration(integrationTwo.getId(), user.getId()); //1

La méthode logRecentIntegrations(.., ..) appelle simplement la DAO et de la dao n'est ceci:

Query query = entityManager.createNativeQuery(
    "INSERT INTO INT_USR (USR_ID, INT_ID) VALUES (?, ?)");
query.setParameter(1, userId)
    .setParameter(2, integrationId);
query.executeUpdate();

Plus tard dans mon test:

Query query = entityManager.createNativeQuery(
    "SELECT * FROM INT_USR ORDER BY IU_INSDTTM");
List resultList = query.getResultList();

Quand je debug de ce test dans resultList il y a deux disques (correct), mais ils ont la même heure. Même quand j'ai inséré un point d'arrêt sur la ligne marquée //1 et a attendu un certain temps - de sorte que l'écart de temps entre les insertions serait importante. (Thread.le sommeil même résultat)

J'ai essayé de modifier le script SQL pour

ALTER TABLE INT_USR ADD IU_INSDTTM TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

Mais avec le même résultat. Pourquoi les résultats ont même timestamp?

InformationsquelleAutor DominikM | 2013-03-01