Outils pour utilisateurs

Outils du site


ide:eclipse:jpa

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
ide:eclipse:jpa [2016/12/30 01:47] – Création rootide:eclipse:jpa [2020/05/10 23:59] (Version actuelle) – Suppression de la taille par défaut pour les images root
Ligne 2: Ligne 2:
  
 ====Schema "XXXX" cannot be resolved for table "YYYY"==== ====Schema "XXXX" cannot be resolved for table "YYYY"====
 +
 +===Possibilité 1===
 Il faut générer les tables depuis les entités. Il faut générer les tables depuis les entités.
  
 Clique-droit sur le projet, ''JPA Tools'', ''Generate Tables from Entities''. Clique-droit sur le projet, ''JPA Tools'', ''Generate Tables from Entities''.
  
-{{:ide:eclipse:jpa:error_schema.png?682|Error de schéma}}+{{:ide:eclipse:jpa:error_schema.png|Error de schéma}}
  
 Pour que cela marche, il faut que dans le ''persistence.xml'' la propriété suivante existe : Pour que cela marche, il faut que dans le ''persistence.xml'' la propriété suivante existe :
Ligne 13: Ligne 15:
 <property name="javax.persistence.schema-generation.database.action" value="create"/> <property name="javax.persistence.schema-generation.database.action" value="create"/>
 </code> </code>
 +
 +===Possibilité 2===
 +Le schéma n'est pas le bon.
 +
 +Il faut afficher ''Data Source Explorer'' depuis ''Window'', ''Show View'', ''Other…''
 +
 +{{:ide:eclipse:jpa:error_schema_2_1.png?200|Error de schéma 2 1}}{{:ide:eclipse:jpa:error_schema_2_2.png?200|Error de schéma 2 2}}{{:ide:eclipse:jpa:error_schema_2_3.png?400|Error de schéma 2 3}}
 +
 +Et ajouter en déclaration de la classe le nom du schéma
 +<code java>
 +@Entity
 +@Table(schema = "DEFAULT")
 +public class Position {
 +</code>
 +
 +====The value for annotation attribute SecondaryTable.pkJoinColumns must be some @javax.persistence.PrimaryKeyJoinColumn annotation====
 +<code java>
 +@SecondaryTables({
 +  @SecondaryTable(name="PERSO_SECU", pkJoinColumns=@PrimaryKeyJoinColumn(referencedColumnName="ID")),  
 +  @SecondaryTable(name="PERSO_BANQUE", pkJoinColumns=@PrimaryKeyJoinColumn(referencedColumnName="ID"))
 +})
 +</code>
 +
 +Il manque
 +<code java>
 +import javax.persistence.PrimaryKeyJoinColumn;
 +</code>
 +
 +====@OneToOne or @ManyToOne on XXX references an unknown entity: YYY====
 +Hibernate :
 +
 +  Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on XXX references an unknown entity: YYY
 +    at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:81)
 +
 +La classe YYY n'est pas dans le fichier ''hibernate.cfg.xml''
 +<code xml>
 +<hibernate-configuration>
 +  <session-factory>
 +    <mapping class="YYY" />
 +  </session-factory>
 +</hibernate-configuration>
 +</code>
 +
 +====Caused by: java.sql.SQLException: Field 'id' doesn't have a default value====
 +
 +  org.hibernate.exception.GenericJDBCException: could not execute statement
 +    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
 +    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
 +    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
 +    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207)
 +  Caused by: java.sql.SQLException: Field 'id' doesn't have a default value
 +    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
 +    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970)
 +    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)
 +    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
 +
 +Le champ ''id'' de la table ne possède pas l'attribut auto-incrémentation.
ide/eclipse/jpa.1483058836.txt.gz · Dernière modification : 2016/12/30 01:47 de root