Je cherche à obtenir une relation un-à-un mais hibernatetool se plaint lors de la génération du schéma. Voici un exemple qui montre le problème:
@Entity
public class Person {
@Id
public int id;
@OneToOne
public OtherInfo otherInfo;
reste des attributs ...
}
Person possède une relation un-à-un avec OtherInfo:
@Entity
public class OtherInfo {
@Id
@OneToOne(mappedBy="otherInfo")
public Person person;
reste des attributs ...
}
Person est le côté propriétaire de OtherInfo. OtherInfo est le côté possédé, donc person utilise mappedBy
pour spécifier le nom de l'attribut "otherInfo" dans Person.
Je reçois l'erreur suivante lors de l'utilisation de hibernatetool pour générer le schéma de la base de données:
org.hibernate.MappingException: Could not determine type for: Person, at table: OtherInfo, for columns: [org.hibernate.mapping.Column(person)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:175)
at org.hibernate.cfg.Configuration.iterateGenerators(Configuration.java:743)
at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:854)
at org.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:128)
...
Une idée de la raison? Est-ce que j'ai commis une erreur ou s'agit-il d'un bug Hibernate?