Commit fef8a8d2571bc0ecc29c5ed91be635aa38d315b8

Authored by Julian Cesar dos Santos
1 parent 2ee292bf

Persistence Bootstrap

demoiselle-core/src/main/java/org/demoiselle/jee/core/message/DemoiselleMessages.java
... ... @@ -4,7 +4,7 @@
4 4 * License: GNU Lesser General Public License (LGPL), version 3 or later.
5 5 * See the lgpl.txt file in the root directory or <https://www.gnu.org/licenses/lgpl.html>.
6 6 */
7   -package org.demoiselle.jee.core.messages;
  7 +package org.demoiselle.jee.core.message;
8 8  
9 9 import org.apache.deltaspike.core.api.message.MessageBundle;
10 10 import org.apache.deltaspike.core.api.message.MessageTemplate;
... ...
demoiselle-persistence-jpa/src/main/java/org/demoiselle/jee/persistence/jpa/bootstrap/PersistenceBootstrap.java 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +package org.demoiselle.jee.persistence.jpa.bootstrap;
  2 +
  3 +import javax.enterprise.event.Observes;
  4 +import javax.enterprise.inject.spi.AnnotatedType;
  5 +import javax.enterprise.inject.spi.ProcessAnnotatedType;
  6 +import javax.persistence.Entity;
  7 +
  8 +/**
  9 + *
  10 + * Este processo evita que o CDI faça a gestão da entidade no lugar do EntityManager. Garantindo que o EntityManager faça a gestão.
  11 + *
  12 + * http://www.cdi-spec.org/faq/
  13 + * Why is @Vetoed a best practice for persistent (JPA) entities?
  14 + *
  15 + * @author SERPRO
  16 + *
  17 + */
  18 +public class PersistenceBootstrap implements javax.enterprise.inject.spi.Extension {
  19 +
  20 + /**
  21 + * Adiciona Vetoed nas entidades
  22 + * @param pat
  23 + */
  24 + @SuppressWarnings({ "rawtypes", "unchecked" })
  25 + public void processAnnotatedType(@Observes final ProcessAnnotatedType pat) {
  26 + final AnnotatedType annotatedType = pat.getAnnotatedType();
  27 + if (annotatedType.getJavaClass().isAnnotationPresent(Entity.class)) {
  28 + pat.veto();
  29 + }
  30 + }
  31 +
  32 +}
... ...
demoiselle-persistence-jpa/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension 0 → 100644
... ... @@ -0,0 +1 @@
  1 +org.demoiselle.jee.persistence.jpa.bootstrap.PersistenceBoostrap
0 2 \ No newline at end of file
... ...