java.lang.IllegalArgumentException dans Spring-data-Jpa
Je suis une exception
<code>
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'auditTrailRepository': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1429)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304)
... 24 more
Caused by: java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.util.Assert.notNull(Assert.java:123)
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.<init>(SimpleJpaRepository.java:74)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:94)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:69)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:146)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:120)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:39)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
... 35 more
</code>
Mon référentiel est défini comme
<code>
public interface AuditTrailRepository extends CrudRepository<AuditTrail, Long>, JpaSpecificationExecutor<AuditTrail> {
public List<AuditTrail> findByKey(String key);
@Query("select u from AuditTrail u where u.createdDate between :startDate and :endDate ")
List<AuditTrail> findByDateRange(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
@Query("select u from AuditTrail u where u.createdDate between :startDate and :endDate and key = :clientId ")
List<AuditTrail> findByDateRangeForClient(@Param("startDate") Date startDate,
@Param("endDate") Date endDate,
@Param("ClientId") String clientId);
}
</code>
Mon entité est
<code>
@Entity
@Table(name = "AUDIT_TRAIL")
public class AuditTrail extends BaseEntity {
/**
*
*/
private static final long serialVersionUID = -1647646453787027659L;
private Long id;
//ClientID from
private String key;
private TaskType taskType;
//Inbound /Outbound
private FileActionType action;
private String userName;
private String message;
private Date startTime;
private Date endTime;
</code>
L'persistance.xml dans WEB-INF/classes/META-INF est
<code>
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="spring-jpa" />
</persistence>
</code>
Toute aide sera appréciée.
Pour répondre à ma propre question ici .......
La seule chose qui a fonctionné pour moi d'énumérer chaque entité de domaine dans persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="spring-jpa" >
<class>com.multiplan.edi.common.domain.AuditTrail</class>
</persistence-unit>
</persistence>
OriginalL'auteur Raghuveer Rao | 2011-08-03
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle vous voyez l'exception posté, c'est que nous avaler une exception levée par le
EntityManager
essayer de résoudre unEntityType
de laMetamodel
. J'ai créé une question JIRA pour garder une trace de ce.Une manière générale, la nécessité de la liste des classes explicitement dépend de la configuration de votre fournisseur de persistance JPA. Certains d'entre eux peut être configuré pour analyser un package pour les entités. D'autres exigent au moins racine de classes.
Quel genre d'activité vous attendez-vous? Il a été résolu au début de septembre, 20*11* et a déjà sorti plus d'un an...
désolé . Je viens de vérifier. merci btw .. pouvez-vous m'aider une chose, Im se genre de fou sur une exception :gist.github.com/4143358 pouvez-vous s'il vous plaît aider sur ce point?
OriginalL'auteur Oliver Drotbohm