[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.technology.jsr220-orm] Re: Exception raised referencing a class in another class
|
Hi Flavio,
Looks like you do not have a bi-directional relationship defined in the
model. Not sure if you have an existing schema and what it looks like. It
is likely that you need to annotate the "iva" field with a OneToOne or
ManyToOne annotation ...
@Entity(access=AccessType.FIELD)
public class Cliente {
@Id(generate=GeneratorType.IDENTITY)
private int idcliente;
private String nombre;
@OneToOne
private Iva iva;
private String cuit;
private String direccion;
Hope this helps,
-Robert
Robert Greene
JSR220-ORM team lead
rgreene@xxxxxxxxxxx
"Flavio Bovio" <ozzyvt@xxxxxxxxxxx> wrote in message
news:f3b5f77ff3f978f1a5f3883ff13d9f38$1@xxxxxxxxxxxxxxxxxx
> I have 2 classes
>
> /// Cliente
> package per;
>
> import javax.persistence.Entity;
> import javax.persistence.AccessType;
> import javax.persistence.Id;
> import javax.persistence.GeneratorType;
> import per.Iva;
>
> @Entity(access=AccessType.FIELD)
> public class Cliente {
> @Id(generate=GeneratorType.IDENTITY)
> private int idcliente;
> private String nombre;
> private Iva iva;
> private String cuit;
> private String direccion;
> ......
>
> //// Iva
>
> package per;
>
> import javax.persistence.Entity;
> import javax.persistence.AccessType;
> import javax.persistence.Id;
> import javax.persistence.GeneratorType;
>
> @Entity(access=AccessType.FIELD)
> public class Iva {
> @Id(generate=GeneratorType.IDENTITY)
> private int id;
> private String descripcion;
> private String abreviacion;
> private double tasa;
> public String getAbreviacion() {
> .....
>
>
> I get the exception when i call
>
> EntityManagerFactory emf =
> Persistence.createEntityManagerFactory("manager");
> EntityManager em =
> emf.createEntityManager(PersistenceContextType.EXTENDED);
>
>
>
> Exception in thread "main" javax.persistence.PersistenceException:
> org.hibernate.MappingException: Could not determine type for: per.Iva, for
> columns: [org.hibernate.mapping.Column(iva)]
> at
>
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernateP
ersistence.java:206)
> at
>
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37
)
> at
>
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:27
)
> at imp.Ins.main(Ins.java:18)
> Caused by: org.hibernate.MappingException: Could not determine type for:
> per.Iva, for columns: [org.hibernate.mapping.Column(iva)]
> at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:265)
> at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:252)
> at org.hibernate.mapping.Property.isValid(Property.java:175)
> at
> org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:364)
> at org.hibernate.mapping.RootClass.validate(RootClass.java:191)
> at org.hibernate.cfg.Configuration.validate(Configuration.java:863)
> at
>
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1027)
> at
>
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernateP
ersistence.java:472)
> at
>
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernateP
ersistence.java:385)
> at
>
org.hibernate.ejb.HibernatePersistence.createFactory(HibernatePersistence.ja
va:152)
> at
>
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernateP
ersistence.java:199)
> ... 3 more
>
>