ho colpito un bloccante l'aggiunta di una soluzione ad un problema principale project.The esistente è che mi piacerà di utilizzare @Prepersist
e @PreUpdate
nel POJO
di prendersi cura del campo LastModified
(inserire e aggiornare) utilizzando l'implementazione di ibernazione di JPA con sessione.@PreUpdate e @PrePersist in Hibernate/JPA (tramite sessione)
Motivo?: Questa modifica è necessaria perché è necessario utilizzare liquibase 1.9.5
e so (dato che ho affrontato questo in precedenza) che liquibase traduce il timestamp su datetime con default current_timestamp, e che è troppo brutto per il database mysql.
Quindi avevo bisogno di un modo per avere questo set in codice piuttosto che nel database in modo da poter tranquillamente cambiare il campo timestamp in datetime. Poi liquibase è felice, sono felice.
Ora sembra che non siano state eseguite le interpreti, con piccola ricerca ho scoperto che è adatto usando entityManager
.che è attualmente fuori question.So mi piacerà sapere se c'è un modo SEMPLICEintorno il mio problema, significato dover @Prepersist
o @PreUpdate
o anche altra soluzione per impostare il campo lastModified
ancora utilizzando sessione
Ciao Pascal, ho provato a utilizzare il listener di eventi di ibernazione e ha funzionato di nuovo.grazie per il tuo aiuto. ;) –
C'è una buona spiegazione degli ascoltatori su [http://anshuiitk.blogspot.sk/2010/11/hibernate-pre-database-opertaion-event.html](http://anshuiitk.blogspot.sk/ 2010/11/hibernate-pre-database-opertaion-event.html) – planky
Ecco un modo semplice per abilitare i listener di eventi necessari: https://n1njahacks.wordpress.com/2016/10/07/jpa-callbacks-with- iberna-SessionFactory-e-no-EntityManager / –