Bonsoir,
Autres erreurs présentes sur un projet géré d'une autre façon.
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179 package com.ubo.web; // Generated 14 mars 2016 20:22:17 by Hibernate Tools 4.3.1.Final import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import static javax.persistence.GenerationType.IDENTITY; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import main.webapp.bean.Role; /** * TbUser generated by hbm2java */ @Entity @Table(name = "tb_user", catalog = "brest2016") public class TbUser implements java.io.Serializable { private Integer DUsCode; private String VUsNom; private String VUsPrenom; private String VUsMdp; private String VUsEmail; private String VUsTelephone; private Boolean BUsAdmin; private Date dtUsDebut; private Date dtUsFin; private Set<TbReservation> tbReservations = new HashSet<TbReservation>(0); private Set<TbRole> tbRoles = new HashSet<TbRole>(); public TbUser() { } public TbUser(String VUsNom, String VUsPrenom, String VUsMdp, String VUsEmail) { this.VUsNom = VUsNom; this.VUsPrenom = VUsPrenom; this.VUsMdp = VUsMdp; this.VUsEmail = VUsEmail; } public TbUser(String VUsNom, String VUsPrenom, String VUsMdp, String VUsEmail, String VUsTelephone, Boolean BUsAdmin, Date dtUsDebut, Date dtUsFin, Set<TbReservation> tbReservations, Set<TbRole> tbRoles) { this.VUsNom = VUsNom; this.VUsPrenom = VUsPrenom; this.VUsMdp = VUsMdp; this.VUsEmail = VUsEmail; this.VUsTelephone = VUsTelephone; this.BUsAdmin = BUsAdmin; this.dtUsDebut = dtUsDebut; this.dtUsFin = dtUsFin; this.tbReservations = tbReservations; this.tbRoles = tbRoles; } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "D_US_CODE", unique = true, nullable = false) public Integer getDUsCode() { return this.DUsCode; } public void setDUsCode(Integer DUsCode) { this.DUsCode = DUsCode; } @Column(name = "V_US_NOM", nullable = false, length = 45) public String getVUsNom() { return this.VUsNom; } public void setVUsNom(String VUsNom) { this.VUsNom = VUsNom; } @Column(name = "V_US_PRENOM", nullable = false, length = 45) public String getVUsPrenom() { return this.VUsPrenom; } public void setVUsPrenom(String VUsPrenom) { this.VUsPrenom = VUsPrenom; } @Column(name = "V_US_MDP", nullable = false, length = 45) public String getVUsMdp() { return this.VUsMdp; } public void setVUsMdp(String VUsMdp) { this.VUsMdp = VUsMdp; } @Column(name = "V_US_EMAIL", nullable = false, length = 45) public String getVUsEmail() { return this.VUsEmail; } public void setVUsEmail(String VUsEmail) { this.VUsEmail = VUsEmail; } @Column(name = "V_US_TELEPHONE", length = 45) public String getVUsTelephone() { return this.VUsTelephone; } public void setVUsTelephone(String VUsTelephone) { this.VUsTelephone = VUsTelephone; } @Column(name = "B_US_ADMIN") public Boolean getBUsAdmin() { return this.BUsAdmin; } public void setBUsAdmin(Boolean BUsAdmin) { this.BUsAdmin = BUsAdmin; } @Temporal(TemporalType.TIMESTAMP) @Column(name = "DT_US_DEBUT", length = 19) public Date getDtUsDebut() { return this.dtUsDebut; } public void setDtUsDebut(Date dtUsDebut) { this.dtUsDebut = dtUsDebut; } @Temporal(TemporalType.TIMESTAMP) @Column(name = "DT_US_FIN", length = 19) public Date getDtUsFin() { return this.dtUsFin; } public void setDtUsFin(Date dtUsFin) { this.dtUsFin = dtUsFin; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "tbUser") public Set<TbReservation> getTbReservations() { return this.tbReservations; } public void setTbReservations(Set<TbReservation> tbReservations) { this.tbReservations = tbReservations; } @ManyToMany(fetch = FetchType.LAZY/*, cascade = CascadeType.ALL */) @JoinTable(name = "tb_user_role", catalog = "brest2016", joinColumns = { @JoinColumn(name = "tb_user_D_US_CODE", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "tb_role_D_RO_CODE", nullable = false, updatable = false) }) public Set<TbRole> getTbRoles() { return this.tbRoles; } public void setTbRoles(Set<TbRole> tbRoles) { this.tbRoles = tbRoles; } public void addRole(TbRole pRole){ tbRoles.add(pRole); } }
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 package com.ubo.web; // Generated 14 mars 2016 20:22:17 by Hibernate Tools 4.3.1.Final import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import static javax.persistence.GenerationType.IDENTITY; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import main.webapp.bean.User; /** * TbRole generated by hbm2java */ @Entity @Table(name = "tb_role", catalog = "brest2016", uniqueConstraints = @UniqueConstraint(columnNames = "V_RO_LIBELLE") ) public class TbRole implements java.io.Serializable { private Integer DRoCode; private String VRoLibelle; private Set<TbUser> tbUsers = new HashSet<TbUser>(0); public TbRole() { } public TbRole(String VRoLibelle) { this.VRoLibelle = VRoLibelle; } public TbRole(String VRoLibelle, Set<TbUser> tbUsers) { this.VRoLibelle = VRoLibelle; this.tbUsers = tbUsers; } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "D_RO_CODE", unique = true, nullable = false) public Integer getDRoCode() { return this.DRoCode; } public void setDRoCode(Integer DRoCode) { this.DRoCode = DRoCode; } @Column(name = "V_RO_LIBELLE", unique = true, nullable = false, length = 45) public String getVRoLibelle() { return this.VRoLibelle; } public void setVRoLibelle(String VRoLibelle) { this.VRoLibelle = VRoLibelle; } /* * @ManyToMany(fetch = FetchType.LAZY) * * @JoinTable(name = "tb_user_role", catalog = "brest2016", joinColumns = { * * @JoinColumn(name = "tb_role_D_RO_CODE", nullable = false, updatable = * false) }, inverseJoinColumns = { * * @JoinColumn(name = "tb_user_D_US_CODE", nullable = false, updatable = * false) }) */ @ManyToMany(mappedBy = "tbRoles", targetEntity = TbUser.class) public Set<TbUser> getTbUsers() { return this.tbUsers; } public void setTbUsers(Set<TbUser> tbUsers) { this.tbUsers = tbUsers; } }Message d'erreur :
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 package com.ubo.web; import main.webapp.dao.ManagerDAO; public class TbUserDAO extends ManagerDAO<TbUser>{ public TbUserDAO() { super(TbUser.class); // TODO Auto-generated constructor stub } @Override public TbUser update(TbUser obj) { // TODO Auto-generated method stub return null; } }
Exception in thread "main" javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:94)
at main.webapp.dao.ManagerDAO.create(ManagerDAO.java:31)
at com.ubo.web.aTest.main(aTest.java:27)
Caused by: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.ubo.web.TbRole
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1760)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:82)
... 2 more
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.ubo.web.TbRole
at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:294)
at org.hibernate.type.EntityType.getIdentifier(EntityType.java:537)
at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:165)
at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:899)
at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1308)
at org.hibernate.action.internal.CollectionRecreateAction.execute(CollectionRecreateAction.java:67)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:77)
... 2 more
Le mappage étant généré cette fois ci par le biais de Hibernate Tools.
J'ai l'impression qu'il me crie dessus pour me dire que l'id de TbRole est mauvais cependant il est en auto-generate...
Partager