You need to register the DesriptorEventListener with the descriptor. This can be done using a DescriptorCustomizer. You seem to have the customize() method already, you need to implement DescriptorCustomizer and register the customizer using the @Customizer annotation in your Entity, or the persistence.xml property, "eclipselink.descriptor.customizer.<entity-name>".