帮助hibernate中的异常

时间:2011-03-23 14:21:18

标签: java hibernate jsp exception

我把这个POJO映射到我的MySQL数据库:

@Entity
@Table(name = "participantespresentes", catalog = "tagit")
public class Participantespresentes implements java.io.Serializable {

    private ParticipantespresentesId id;
    private Evento evento;
    private Usuario usuario;
    private boolean status;

    public Participantespresentes() {
    }

    public Participantespresentes(ParticipantespresentesId id, Evento evento, Usuario usuario, boolean status) {
        this.id = id;
        this.evento = evento;
        this.usuario = usuario;
        this.status = status;
    }

    @EmbeddedId
    @AttributeOverrides({
        @AttributeOverride(name = "idUsuario", column =
        @Column(name = "idUsuario", nullable = false)),
        @AttributeOverride(name = "idEvento", column =
        @Column(name = "idEvento", nullable = false))})
    public ParticipantespresentesId getId() {
        return this.id;
    }

    public void setId(ParticipantespresentesId id) {
        this.id = id;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "idEvento", nullable = false, insertable = false, updatable = false)
    public Evento getEvento() {
        return this.evento;
    }

    public void setEvento(Evento evento) {
        this.evento = evento;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "idUsuario", nullable = false, insertable = false, updatable = false)
    public Usuario getUsuario() {
        return this.usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    @Column(name = "status", nullable = false)
    public boolean isStatus() {
        return this.status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }
}

每当我尝试使用hibernate执行任何操作时,都会启动此异常:

Initial SessionFactory creation failed.org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined: com.bytecode.entities.Evento.participantespresentes

任何帮助?

祝你好运, Valter Henrique。

2 个答案:

答案 0 :(得分:5)

异常消息非常清楚 - Hibernate无法确定集合Evento.participantespresentes的元素类型。您需要将其声明为通用(即List<Participantespresentes>)。

答案 1 :(得分:0)

问题不在Participantespresentes中,而是在Evento类中。你有一个名为participantespresentes的属性,但它没有正确映射。如果没有发现问题,请发布Evento代码。