JPA/Hibernate OneToMany & ManyToOne 注释



我正在编写看起来像Google Latitude(定位用户)的代码。我在tomcat 6.0.33下,使用jpa/hibernate和easybeans 1.1

它们独立工作,但当我试图将它们连接起来时却失败了:

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: entity] Unable to build EntityManagerFactory
Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]

代码如下:

public class Personne{
 @ManyToOne(fetch=FetchType.EAGER, cascade={ CascadeType.PERSIST,CascadeType.MERGE })
 public Personne getOwner() {
   return owner;
  }
}
public class MaPosition{
 @OneToMany
 public List<Personne> getFriends() {
   return friends;
  }
}

谢谢你的帮助;)

它是否工作,如果你添加一个映射到你的OneToMany?

public class MaPosition{
    @OneToMany(mappedBy="owner")
    public List<Personne> getFriends() {
        return friends;
    }
}

JPA/Hibernate OneToMany &用于类person和person address的ManyToOne注释。所以一个人可以有很多地址.....我用了这个,它起作用了…

一对多....

public class Person{
@OneToMany(mappedBy="person", targetEntity=Address.class, cascade=CascadeType.MERGE)
private Set<Address> addressList = HashSet<Address>();
//Getters and Setters.....
}

多对一....

public class Address{
@ManyToOne
@JoinColumn(name="PERSON_ID")
private Person person;
//Getters and Setters.....
}

最新更新