=====Problèmes=====
====Schema "XXXX" cannot be resolved for table "YYYY"====
===Possibilité 1===
Il faut générer les tables depuis les entités.
Clique-droit sur le projet, ''JPA Tools'', ''Generate Tables from Entities''.
{{: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 :
===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
@Entity
@Table(schema = "DEFAULT")
public class Position {
====The value for annotation attribute SecondaryTable.pkJoinColumns must be some @javax.persistence.PrimaryKeyJoinColumn annotation====
@SecondaryTables({
@SecondaryTable(name="PERSO_SECU", pkJoinColumns=@PrimaryKeyJoinColumn(referencedColumnName="ID")),
@SecondaryTable(name="PERSO_BANQUE", pkJoinColumns=@PrimaryKeyJoinColumn(referencedColumnName="ID"))
})
Il manque
import javax.persistence.PrimaryKeyJoinColumn;
====@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''
====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.