Tengo una relación uno a uno, pero hibernatetool se queja cuando genera el esquema. He aquí un ejemplo que muestra el problema:Relación JPA Hibernate uno a uno
@Entity
public class Person {
@Id
public int id;
@OneToOne
public OtherInfo otherInfo;
rest of attributes ...
}
persona tiene una relación uno-a-uno con OtherInfo:
@Entity
public class OtherInfo {
@Id
@OneToOne(mappedBy="otherInfo")
public Person person;
rest of attributes ...
}
persona es propietaria lado de OtherInfo. OtherInfo es el lado de propiedad así que la persona usa mappedBy
para especificar el nombre de atributo "otherInfo" en Person.
me sale el siguiente error al utilizar hibernatetool para generar el esquema de base de datos:
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.<init>(SchemaExport.java:128)
...
Cualquier idea de por qué? ¿Estoy haciendo algo mal o es un error de Hibernate?
Gran respuesta, sólo quería añadir que es posible que tenga que añadir la siguiente anotación así en su clase de la persona (que tenía que hacer las cosas funcionan correctamente): '@Cascade ({CascadeType.ALL, CascadeType. DELETE_ORPHAN}) ' –
Gracias, me ayudó en mi problema .. ¿Sabes de todos modos usar solo anotaciones JPA y evitar la hibernación? – Elton
@Elton - si hay una manera en la que debe estar en JPA 2.0 - No lo analicé. – topchef