Zaczytanie kolumny jako null

0

Cześć, mam jakiś taki dziwny przypadek zdarzający się mega rzadko, ale jednak. Jest sobie encja jpa dziedzicząca po czymś takim:

@MappedSuperclass
@Getter
public abstract class AbstractBaseEntity implements Serializable {

    @Column(name = "created", nullable = false)
    public LocalDateTime created;

    @Column(name = "updated", nullable = false)
    public LocalDateTime updated;

    @PrePersist
    protected void onCreate() {
        updated = created = LocalDateTime.now();
    }

    @PreUpdate
    protected void onUpdate() {
        updated = LocalDateTime.now();
    }
}

i czasami przy selekcie zdarza się tak, że leci
Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "created" violates not-null constraint, mimo, że w bazie danych w kolumnie created jest normalnie wartość.
Wszystkie inne kolumny zaczytuje normalnie a tutaj wpierdzela null.

Jakieś pomysły? Stos to oczywiście SPRING + JPA + PSQL :D

1

Na logikę select nie może złamać constraintów.

Przy selekcie JPA może flushować sesje do bazy - powinno być widać w stack trace.

2
Bambo napisał(a):

i czasami przy selekcie

jesteś pewny, że przy selekcie? może wmiędzyczasie jakieś inne rzeczy dookoła się dzieją?

0

Ok usiadłem w pon trzeźwym i świeżym okiem... przeanalizowałem kod i jednak wywalało się na updacie - po drodze była tworzona głęboka kopia obiektu, ale nie były kopiowane te pola z klasy abstrakcyjnej. A że encja z tym ID istniała w db to JPA nie zapisywał "created".

Przepraszam za zamieszanie, do zamknięcia ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1