Bonjour,
Je voudrais déployer mon projet EJB sous Glassfish V3 (J2EE6). J'utilise EclipseLink (JPA2.0).
J'arrive à faire tourner mon application sous forme de stand alone avec l'implémentation JPA en son sein (je gère les entity manager à la main) mais impossible de faire fonctionner JPA côté EJB.
Apparemment j'ai un problème de "weaving" d'une entité...
Voici l'exception:
Tome 1:
Tome 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ATTENTION: Weaver encountered an exception while trying to weave class entities/Personne. The exception was: java.lang.NullPointerException
Tome 3 T_T:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 GRAVE: java.lang.NullPointerException at org.eclipse.persistence.descriptors.ClassDescriptor.createMultipleTableInsertOrder(ClassDescriptor.java:871) at org.eclipse.persistence.descriptors.ClassDescriptor.adjustMultipleTableInsertOrder(ClassDescriptor.java:503) at org.eclipse.persistence.descriptors.ClassDescriptor.preInitialize(ClassDescriptor.java:3341) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:429) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:671) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:620) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:368) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:195) at org.glassfish.persistence.jpa.PersistenceUnitLoader.doJava2DB(PersistenceUnitLoader.java:273) at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.java:155) at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.java:55) at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175) at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272) at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204) at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166) at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:637)
Voici mon entité Personne incriminée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 GRAVE: Local Exception Stack: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.IntegrityException Descriptor Exceptions: --------------------------------------------------------- Exception [EclipseLink-60] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The method [_persistence_setadresse_vh] or [_persistence_getadresse_vh] is not defined in the object [entities.Personne]. Internal Exception: java.lang.NoSuchMethodException: entities.Personne._persistence_getadresse_vh() Mapping: org.eclipse.persistence.mappings.OneToOneMapping[adresse] Descriptor: RelationalDescriptor(entities.Personne --> [DatabaseTable(PERSONNE)]) Exception [EclipseLink-60] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The method [_persistence_setcompteVision_vh] or [_persistence_getcompteVision_vh] is not defined in the object [entities.Personne]. Internal Exception: java.lang.NoSuchMethodException: entities.Personne._persistence_getcompteVision_vh() Mapping: org.eclipse.persistence.mappings.OneToOneMapping[compteVision] Descriptor: RelationalDescriptor(entities.Personne --> [DatabaseTable(PERSONNE)]) Exception [EclipseLink-93] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The table [PERSONNE] is not present in this descriptor. Descriptor: RelationalDescriptor(entities.Utilisateur --> [DatabaseTable(UTILISATEUR)]) Exception [EclipseLink-93] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The table [PERSONNE] is not present in this descriptor. Descriptor: RelationalDescriptor(entities.Utilisateur --> [DatabaseTable(UTILISATEUR)]) Exception [EclipseLink-93] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The table [PERSONNE] is not present in this descriptor. Descriptor: RelationalDescriptor(entities.Utilisateur --> [DatabaseTable(UTILISATEUR)]) Exception [EclipseLink-93] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The table [PERSONNE] is not present in this descriptor. Descriptor: RelationalDescriptor(entities.Utilisateur --> [DatabaseTable(UTILISATEUR)]) Exception [EclipseLink-93] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The table [PERSONNE] is not present in this descriptor. Descriptor: RelationalDescriptor(entities.Utilisateur --> [DatabaseTable(UTILISATEUR)]) Exception [EclipseLink-93] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: The table [PERSONNE] is not present in this descriptor. Descriptor: RelationalDescriptor(entities.Utilisateur --> [DatabaseTable(UTILISATEUR)]) Exception [EclipseLink-41] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: A non-read-only mapping must be defined for the sequence number field. Descriptor: RelationalDescriptor(entities.ConnexionVision --> [DatabaseTable(CONNEXIONVISION)]) Exception [EclipseLink-41] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: A non-read-only mapping must be defined for the sequence number field. Descriptor: RelationalDescriptor(entities.NotationAgent --> [DatabaseTable(NOTATIONPERSONNE), DatabaseTable(NOTATIONAGENT)]) Exception [EclipseLink-41] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: A non-read-only mapping must be defined for the sequence number field. Descriptor: RelationalDescriptor(entities.Exploitation --> [DatabaseTable(SITE), DatabaseTable(EXPLOITATION)]) Exception [EclipseLink-41] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: A non-read-only mapping must be defined for the sequence number field. Descriptor: RelationalDescriptor(entities.LienUtilisateurAgence --> [DatabaseTable(LIENUTILISATEURAGENCE)]) Exception [EclipseLink-41] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: A non-read-only mapping must be defined for the sequence number field. Descriptor: RelationalDescriptor(entities.LienUtilisateurExploitation --> [DatabaseTable(LIENUTILISATEUREXPLOITATION)]) Exception [EclipseLink-41] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DescriptorException Exception Description: A non-read-only mapping must be defined for the sequence number field. Descriptor: RelationalDescriptor(entities.NotationPersonne --> [DatabaseTable(NOTATIONPERSONNE)]) Runtime Exceptions: --------------------------------------------------------- java.lang.NullPointerException java.lang.NullPointerException java.lang.NullPointerException java.lang.NullPointerException at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:478) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:671) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:620) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:368) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:195) at org.glassfish.persistence.jpa.PersistenceUnitLoader.doJava2DB(PersistenceUnitLoader.java:273) at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.java:155) at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.java:55) at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175) at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272) at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204) at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166) at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:637)
Je n'arrive pas à trouver le bug... J'ai vraiment du mal à comprendre ce qu'il ne va pas. Quelqu'un pourrait-il m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 @Entity @Inheritance(strategy=InheritanceType.JOINED) public abstract class Personne implements Serializable { @OneToOne(cascade=CascadeType.ALL, fetch=FetchType.LAZY) private CompteVision compteVision; @OneToMany(mappedBy = "personne", cascade=CascadeType.ALL) private List<Candidature> candidatures; /** * @return the serialVersionUID */ public static long getSerialVersionUID() { return serialVersionUID; } /** * @param aSerialVersionUID the serialVersionUID to set */ @OneToMany(mappedBy = "personne", cascade=CascadeType.ALL) private List<ElementSalaire> elementsSalaire; @OneToMany(mappedBy = "executeur", cascade=CascadeType.ALL) private List<Action> actionsExecution; @OneToMany(mappedBy = "emetteur", cascade=CascadeType.ALL) private List<Action> actionsEmission; @OneToMany(mappedBy = "recepteur", cascade=CascadeType.ALL) private List<Action> actionsReception; @OneToMany(mappedBy = "evalue", cascade=CascadeType.ALL) private List<NotationPersonne> notationsPersonne; private static long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String nom=""; private String prenom=""; @OneToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY) private Adresse adresse; @Temporal(javax.persistence.TemporalType.DATE) private java.util.Date dateNaissance; private String tel=""; private String portable=""; private String fax=""; private String mail=""; private String lieuNaissance=""; private String id2=""; private String titre=""; private String nationalite=""; //getters et setters }
Merci
Edit: J'ai trouvé un post sur le forum Eclipse qui ressemble à mon problème:
http://www.eclipse.org/forums/index....g&goto=509871&
Partager