Bonjour tout le monde je travail avec JPA lors de l'execution j'ai l'erreur de persistence suivant:
La classe grh.domain.model.HsHrProject :
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 4328 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [grh/domain/applicationContext-jpa.xml]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Column name customer_id of grh.domain.model.HsHrProject not found in JoinColumns.referencedColumnName Caused by: org.hibernate.AnnotationException: Column name customer_id of grh.domain.model.HsHrProject not found in JoinColumns.referencedColumnName at org.hibernate.cfg.annotations.TableBinder.bindFk(TableBinder.java:298) at org.hibernate.cfg.FkSecondPass.doSecondPass(FkSecondPass.java:64) at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:428) at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:286) at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1039) at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1211) at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154) at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:847) at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:385) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:218) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:247) at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:257) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:122) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.<init>(PersistenceExceptionTranslationInterceptor.java:78) at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.<init>(PersistenceExceptionTranslationAdvisor.java:70) at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:96) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1162) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733) at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:496) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:337) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4336) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:451) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 7 janv. 2009 10:47:49 org.apache.catalina.core.StandardContext listenerStart GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [grh/domain/applicationContext-jpa.xml]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Column name customer_id of grh.domain.model.HsHrProject not found in JoinColumns.referencedColumnName Caused by: org.hibernate.AnnotationException: Column name customer_id of grh.domain.model.HsHrProject not found in JoinColumns.referencedColumnName at org.hibernate.cfg.annotations.TableBinder.bindFk(TableBinder.java:298) at org.hibernate.cfg.FkSecondPass.doSecondPass(FkSecondPass.java:64) at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:428) at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:286) at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1039) at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1211) at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154) at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:847) at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:385) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:218) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:247) at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:257) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:122) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.<init>(PersistenceExceptionTranslationInterceptor.java:78) at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.<init>(PersistenceExceptionTranslationAdvisor.java:70) at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:96) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1162) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733) at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:496) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:337) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4336) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:451) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 7 janv. 2009 10:47:49 org.apache.catalina.core.StandardContext start GRAVE: Error listenerStart 7 janv. 2009 10:47:49 org.apache.catalina.core.StandardContext start GRAVE: Erreur de démarrage du contexte [/monProjetGRH] suite aux erreurs précédentes 7 janv. 2009 10:47:49 org.apache.catalina.core.ApplicationContext log INFO: Closing Spring root WebApplicationContext 7 janv. 2009 10:47:50 org.apache.coyote.http11.Http11Protocol start INFO: Démarrage de Coyote HTTP/1.1 sur http-8086 7 janv. 2009 10:47:50 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 7 janv. 2009 10:47:50 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/46 config=null 7 janv. 2009 10:47:50 org.apache.catalina.startup.Catalina start INFO: Server startup in 7750 ms
La classe grh.domain.model.HsHrCustomer:
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144 package grh.domain.model; import java.io.Serializable; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name = "hs_hr_project", catalog = "hr_mysql", schema = "") @NamedQueries({@NamedQuery(name = "HsHrProject.findAll", query = "SELECT h FROM HsHrProject h"), @NamedQuery(name = "HsHrProject.findByProjectId", query = "SELECT h FROM HsHrProject h WHERE h.hsHrProjectPK.projectId = :projectId"), @NamedQuery(name = "HsHrProject.findByCustomerId", query = "SELECT h FROM HsHrProject h WHERE h.hsHrProjectPK.customerId = :customerId"), @NamedQuery(name = "HsHrProject.findByName", query = "SELECT h FROM HsHrProject h WHERE h.name = :name"), @NamedQuery(name = "HsHrProject.findByDescription", query = "SELECT h FROM HsHrProject h WHERE h.description = :description"), @NamedQuery(name = "HsHrProject.findByDeleted", query = "SELECT h FROM HsHrProject h WHERE h.deleted = :deleted")}) public class HsHrProject implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId protected HsHrProjectPK hsHrProjectPK; @Column(name = "name", length = 100) private String name; @Column(name = "description", length = 250) private String description; @Column(name = "deleted") private Boolean deleted; @JoinTable(name = "hs_hr_project_admin", joinColumns = {@JoinColumn(name = "project_id", referencedColumnName = "project_id", nullable = false)}, inverseJoinColumns = {@JoinColumn(name = "emp_number", referencedColumnName = "emp_number", nullable = false)}) @ManyToMany(fetch = FetchType.LAZY) private List<HsHrEmployee> hsHrEmployeeCollection; @OneToMany(cascade = CascadeType.ALL, mappedBy = "projectId", fetch = FetchType.LAZY) private List<HsHrProjectActivity> hsHrProjectActivityCollection; @OneToMany(cascade = CascadeType.ALL, mappedBy = "hsHrProject", fetch = FetchType.LAZY) private List<HsHrTimeEvent> hsHrTimeEventCollection; @JoinColumn(name = "customer_id", referencedColumnName = "customer_id", nullable = false, insertable = false, updatable = false) @ManyToOne(optional = false, fetch = FetchType.LAZY) private HsHrCustomer hsHrCustomer; public HsHrProject() { } public HsHrProject(HsHrProjectPK hsHrProjectPK) { this.hsHrProjectPK = hsHrProjectPK; } public HsHrProject(int projectId, int customerId) { this.hsHrProjectPK = new HsHrProjectPK(projectId, customerId); } public HsHrProjectPK getHsHrProjectPK() { return hsHrProjectPK; } public void setHsHrProjectPK(HsHrProjectPK hsHrProjectPK) { this.hsHrProjectPK = hsHrProjectPK; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Boolean getDeleted() { return deleted; } public void setDeleted(Boolean deleted) { this.deleted = deleted; } public List<HsHrEmployee> getHsHrEmployeeCollection() { return hsHrEmployeeCollection; } public void setHsHrEmployeeCollection(List<HsHrEmployee> hsHrEmployeeCollection) { this.hsHrEmployeeCollection = hsHrEmployeeCollection; } public List<HsHrProjectActivity> getHsHrProjectActivityCollection() { return hsHrProjectActivityCollection; } public void setHsHrProjectActivityCollection(List<HsHrProjectActivity> hsHrProjectActivityCollection) { this.hsHrProjectActivityCollection = hsHrProjectActivityCollection; } public List<HsHrTimeEvent> getHsHrTimeEventCollection() { return hsHrTimeEventCollection; } public void setHsHrTimeEventCollection(List<HsHrTimeEvent> hsHrTimeEventCollection) { this.hsHrTimeEventCollection = hsHrTimeEventCollection; } public HsHrCustomer getHsHrCustomer() { return hsHrCustomer; } public void setHsHrCustomer(HsHrCustomer hsHrCustomer) { this.hsHrCustomer = hsHrCustomer; } @Override public int hashCode() { int hash = 0; hash += (hsHrProjectPK != null ? hsHrProjectPK.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof HsHrProject)) { return false; } HsHrProject other = (HsHrProject) object; if ((this.hsHrProjectPK == null && other.hsHrProjectPK != null) || (this.hsHrProjectPK != null && !this.hsHrProjectPK.equals(other.hsHrProjectPK))) { return false; } return true; } @Override public String toString() { return "grh.domain.model.HsHrProject[hsHrProjectPK=" + hsHrProjectPK + "]"; } }
ses classe sont generer par NetBeans 6.5.
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
99
100
101
102
103
104
105
106
107 package grh.domain.model; import java.io.Serializable; import java.util.List; import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name = "hs_hr_customer", catalog = "hr_mysql", schema = "") @NamedQueries({@NamedQuery(name = "HsHrCustomer.findAll", query = "SELECT h FROM HsHrCustomer h"), @NamedQuery(name = "HsHrCustomer.findByCustomerId", query = "SELECT h FROM HsHrCustomer h WHERE h.customerId = :customerId"), @NamedQuery(name = "HsHrCustomer.findByName", query = "SELECT h FROM HsHrCustomer h WHERE h.name = :name"), @NamedQuery(name = "HsHrCustomer.findByDescription", query = "SELECT h FROM HsHrCustomer h WHERE h.description = :description"), @NamedQuery(name = "HsHrCustomer.findByDeleted", query = "SELECT h FROM HsHrCustomer h WHERE h.deleted = :deleted")}) public class HsHrCustomer implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = "customer_id", nullable = false) private Integer customerId; @Column(name = "name", length = 100) private String name; @Column(name = "description", length = 250) private String description; @Column(name = "deleted") private Boolean deleted; @OneToMany(cascade = CascadeType.ALL, mappedBy = "hsHrCustomer", fetch = FetchType.LAZY) private List<HsHrProject> hsHrProjectCollection; public HsHrCustomer() { } public HsHrCustomer(Integer customerId) { this.customerId = customerId; } public Integer getCustomerId() { return customerId; } public void setCustomerId(Integer customerId) { this.customerId = customerId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Boolean getDeleted() { return deleted; } public void setDeleted(Boolean deleted) { this.deleted = deleted; } public List<HsHrProject> getHsHrProjectCollection() { return hsHrProjectCollection; } public void setHsHrProjectCollection(List<HsHrProject> hsHrProjectCollection) { this.hsHrProjectCollection = hsHrProjectCollection; } @Override public int hashCode() { int hash = 0; hash += (customerId != null ? customerId.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof HsHrCustomer)) { return false; } HsHrCustomer other = (HsHrCustomer) object; if ((this.customerId == null && other.customerId != null) || (this.customerId != null && !this.customerId.equals(other.customerId))) { return false; } return true; } @Override public String toString() { return "grh.domain.model.HsHrCustomer[customerId=" + customerId + "]"; } }
Merci de votre aide...
Partager