Loading JPA Entity a partir do arquivo Jar externo
i tenho uma configuração de projeto em que modularizei um projeto e empacotei um módulo em um arquivo jar que é incluído no projeto principal quando criamos uma guerra e a implantamos. O problema que estou enfrentando é que tenho uma Entidade presente no módulo que não carrega quando o EntityManagerFactory do Contêiner JPA para o unitName é criado durante a inicializaçã
pergunta básica que eu tenho é que a pesquisa do EntityManager no persistence.xml não carrega as propriedades especificadas e, em seguida, verifica todos os pacotes quanto à anotação @Entit
Qualquer insight sobre como isso funciona e como posso resolver isso seria ótim
Eu encontrei este link e ele menciona sobre a criação de persistenceUnits separadas, mas aqui não preciso de uma unidade de persistência separada. Eu só preciso que o módulo faça uma carona no projeto pai e carregue a entidade e qualquer outra classe @Resource, @Component, o que ocorre devido ao contexto: verificação de componente e configuração da anotaçã
http: //javathoughts.capesugarbird.com/2009/02/jpa-and-multiple-persistence-units.htm
Aqui está meu código / configuração
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="LineManagement" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="false" />
<property name="showSql" value="false" />
<property name="databasePlatform" ref="cpsHibernateDialectClassName" />
</bean>
</property>
<property name="beanName" value="entityManager"></property>
</bean>
definição do EnitityManagerFactory para inicializar o Entity Manage
<persistence-unit name="LineManagement" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.id.new_generator_mappings" value="true" />
<property name="hibernate.current_session_context_class" value="thread" />
<property name="hibernate.default_batch_fetch_size" value="200" />
....
Persistence.xml, que define o cache de segundo nível e outras propriedades de hibernaçã
Então, o módulo que possui uma entidad
import javax.persistence.Entity;
@Entity
@Table(name = IntegrationEvent.TABLE_NAME, uniqueConstraints = @UniqueConstraint(columnNames = "INTGRTN_EVNT_QUEUE_SK"))
@GenericGenerator(name = "UUID_GEN", strategy = "org.hibernate.id.UUIDHexGenerator", parameters = { @Parameter(name = "separator", value = "-") })
public class IntegrationEvent implements Serializable {
....}
ota: a entidade está em um pacote diferente do pai, pois é um módulo separado por si s
entidade que carrega bem no projeto principa
package com.parent.line.entity;
import javax.persistence.Entity;
@Entity
@Table(name = "ACCOUNT")
@Cacheable(true)
public class Account
implements LMLookupTypeEntityByDivision, Serializable, Comparable<Account> {