sql >> Database >  >> RDS >> PostgreSQL

Spring Data @CreatedDate annotatie werkt niet voor mij

Ik heb misschien in een vergelijkbare situatie gezeten waarin ik de Spring Data JPA @CreatedDate wilde hebben annotatie om te werken, maar hadden geen controle op gebruikersniveau nodig die anders wordt beschreven in hun documentatie.

Om de op annotaties gebaseerde auditing te laten werken, moest ik niettemin een klasse aan mijn project toevoegen die org.springframework.data.domain.AuditorAware implementeerde. . Dit is vreemd omdat u de waarde die wordt geretourneerd door de getCurrentAuditor() niet echt lijkt te gebruiken methode die u gaat implementeren; de mijne retourneert gewoon null .

public class NullAuditorBean implements AuditorAware {

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

Ik moest toen verwijzen naar mijn "null-object" AuditorAware implementatie in een item in mijn applicationContext om de JPA-audit te activeren. Ik moest ervoor zorgen dat ik dit deed vóór de regel die de jpa:repositories specificeert . Dit ziet er ongeveer zo uit:

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

Ik moest ook een orm.xml . toevoegen bestand, en moest er formeel naar verwijzen als een eigenschap van mijn entityManagerFactory boon, zoals zo:

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

Zorg ervoor dat deze META-INF/orm.xml invoer wordt opgeslagen met uw compile-uitvoer (de mijne staat in mijn WAR onder WEB-INF/classes .

Dat orm.xml bestand, voor de goede orde, bevatte enkele standaardteksten, die te vinden zijn in het antwoord op deze gerelateerde vraag.

Het was behoorlijk wat werk toen ik dit werkend kreeg. Misschien geeft u de voorkeur aan uw vorige werkende oplossing!



  1. SQL Less Than () Operator voor beginners

  2. Hoe kan ik twee MySQL-tabellen samenvoegen?

  3. Voorloop- en/of volgspaties van een tekenreeks verwijderen in T-SQL

  4. Wat zijn performantere, CTE- of tijdelijke tabellen?