sql >> Databasteknik >  >> RDS >> Mysql

Hur mappar jag en tidsstämpel i viloläge till en MySQL BIGINT?

Titta också på att skapa en anpassad implementering av Hibernate Type. Något i stil med (psuedocode eftersom jag inte har en praktisk miljö för att göra den skottsäker):

public class CalendarBigIntType extends org.hibernate.type.CalendarType {
    public Object get(ResultSet rs, String name) {
        return cal = new GregorianCalendar(rs.getLong(name));
    }
    public void set(PreparedStatement stmt, Object value, int index) {
        stmt.setParameter(index, ((Calendar) value).getTime());
    }
}

Sedan måste du mappa ditt nya objekt med hjälp av en viloläge TypeDef och Type-mappningar. Om du använder Hibernate-kommentarer är det i stil med:

@TypeDef (name="bigIntCalendar", typeClass=CalendarBigIntType.class)
@Entity
public class MyEntity {
    @Type(type="bigIntCalendar")
    private Calendar myDate;
}


  1. Lär dig hur man skapar formulär i minnet (Ja, du hörde rätt)

  2. Databasbackups - Jämför MariaDB Mariabackup och Percona Xtrabackup

  3. Kan inte visa data från QSqlQueryModel i en QML TableView

  4. Bestäm om två namn ligger nära varandra