J'ai créé un UserObject et un RoleObject pour représenter les utilisateurs dans mon application. J'essaie d'utiliser hibernate pour CRUD au lieu de JDBC brut. J'ai récupéré avec succès les informations de la base de données, mais je ne peux pas créer de nouveaux utilisateurs. Je reçois l'erreur suivante.Utilisateurs persistants utilisant Hibernate
org.springframework.web.util.NestedServletException: Request processing failed; nested
exception is org.springframework.dao.DataIntegrityViolationException: could not insert:
[com.dc.data.UserRole]; nested exception is
org.hibernate.exception.ConstraintViolationException: could not insert:
[com.dc.data.UserRole]
base de données Mon est défini comme suit:
utilisateurs Table, autorité Table et les autorités. La table des autorités est une jointure des utilisateurs et des autorités.
Ma cartographie mise en veille prolongée pour UserObjec est comme suit:
...
<set name="roles" table="authorities" cascade="save-update" lazy="false" >
<key column="userId" />
<one-to-many class="com.dc.data.UserRole"/>
<many-to-many class="com.dc.data.UserRole" column="authId" />
</set>
</class>
...
UserRole est mis en correspondance comme suit:
<class name="com.dc.data.UserRole" table="authority">
<id name="id" column="authId">
<generator class="native" />
</id>
<property name="roleName">
<column name="authority" length="60" not-null="true" />
</property>
</class>
Comment dois-je modifier ma cartographie ou la structure d'objets pour pouvoir persister nouvelle utilisateurs?
Cela a résolument résolu le problème. Merci! – IaCoder
Aurait été bien si vous auriez pu marquer ma réponse comme la bonne. :) –
Merci de marquer correctement. :) –