Search code examples
javahibernatehibernate-search

How does Hibernate Search know when an ORM entity has been updated?


Suppose I have a search application that uses Hibernate Search and a core application that creates and updates entities via Hibernate Core.

How does the search application know when an entity has been updated? Is there some type of event system or is it looking at the database?


Solution

  • As @AntJavaDev wrote, Hibernate Search uses event listeners.

    See https://github.com/hibernate/hibernate-search/blob/d2cc0775f5bd84c1482ea4744df3d78392809c63/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java#L110

    Edit: also relevant, this section of the documentation