package org.castor.jpa.scenario.callbacks; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.exolab.castor.jdo.PersistenceException; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.PrePersist; import javax.persistence.Table; @Entity @Table(name = "Callbacks_cat") public class Cat { private static final Log LOG = LogFactory.getLog(Person.class); private long id; private String name; @Id public long getId() { return id; } public void setId(final long id) { this.id = id; } public String getName() { return name; } public void setName(final String name) { this.name = name; } @PrePersist protected void validateCreation() throws PersistenceException { if (this.name.equals("Waldi")) { LOG.debug("Hello from a cat."); throw new PersistenceException(String.format( "Cat mustn't be called %s.", this.name)); } } }