mappedBy的问题

最近在研究EJB3遇到org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.ni.ejb.Project.users[com.ni.ejb.User] 这个问题,搞了我3个小时,在网上也查了资料,找了些出现这样的错误的原因,不过我都 加了 @Entity,  找来找去找不出原因。

 

@Entity
@Table(name="Project")
public class Project implements java.io.Serializable {

//略。。

 

@OneToMany(mappedBy = "project", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @OrderBy(value = "id ASC")
    private Set<User> users = new HashSet<User>();

 

}

。。。

 

@Entity
@Table(name = "User")
public class User implements java.io.Serializable {

  //略。。

 

 @ManyToOne(cascade = CascadeType.REFRESH, optional = false)
    @JoinColumn(name = "pid")
    private Project project;

}

 

没辙了,只好用排除法,删一段代码看看,找别人的一对多的范例来试试,这倒是成功的,后来无意中重起了JBoss,而不是redeploy,结果一 切正常,后来自己想想可能是persistence.xml上hibernate.hbm2ddl.auto 为 update,所以每当服务器重起的时候读入persistence.xml然后映射数据库,而redeploy是不会读入的。

你可能感兴趣的:(Hibernate,xml,jboss,ejb)