PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Adnotacja Spring Data @CreatedDate nie działa dla mnie

Mogłem być w podobnej sytuacji, gdy chciałem Spring Data JPA @CreatedDate adnotacja do pracy, ale nie ma potrzeby przeprowadzania audytu na poziomie użytkownika, który jest w inny sposób opisany w ich dokumentacji.

Aby audyt oparty na adnotacjach działał, musiałem jednak dodać klasę do mojego projektu, która zaimplementowała org.springframework.data.domain.AuditorAware . To dziwne, ponieważ w rzeczywistości nie używasz wartości zwróconej przez getCurrentAuditor() metoda, którą będziesz wdrażać; mój po prostu zwraca null .

public class NullAuditorBean implements AuditorAware {

    @Override
    public Object getCurrentAuditor() {
        return null;
    }
}

Następnie musiałem odwołać się do mojego „pustego obiektu” AuditorAware implementacja we wpisie w moim applicationContext aby aktywować audyt JPA. Musiałem się upewnić, że zrobiłem to przed wierszem, który określa jpa:repositories . To wygląda mniej więcej tak:

<bean id="auditorBean" class="your.package.subbed.here.NullAuditorBean"/>
<jpa:auditing auditor-aware-ref="auditorBean"/>

Musiałem też dodać plik orm.xml i musiał formalnie odwołać się do niego jako do właściwości mojej entityManagerFactory fasola, jak tak:

<property name="mappingResources">
    <value>META-INF/orm.xml</value>
</property>

Upewnij się, że ten META-INF/orm.xml wpis jest przechowywany z danymi wyjściowymi kompilacji (mój jest w moim WAR pod WEB-INF/classes .

Ten orm.xml dla przypomnienia, plik zawierał kilka szablonów, które można znaleźć w odpowiedzi na to powiązane pytanie.

To było sporo pracy, kiedy zacząłem pracować. Możesz preferować swoje poprzednie rozwiązanie robocze!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz wiele wierszy w tablicy za pomocą SQL na PostgreSQL

  2. jaki jest dobry sposób na poziomy shard w postgresql

  3. ECONNREFUSED dla Postgres na nodeJS z dokerami

  4. Jak uzyskać PostgreSQL na serwerze VPS/serwerze dedykowanym?

  5. Powrót z funkcji z parametrem OUT