2016-11-28 101 views
0

我得到这个错误,但我不知道这是否是因为的mappedBy的名字是在以性能我可以在课堂上使用相同的mapedBy名称吗?

错误

Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Collection, at table: a_escalaPregunta, for columns: [org.hibernate.mapping.Column(valoracioItems)] 

类EscalaPregunta

@Entity 
@Table(name = "a_escalaPregunta") 
public class EscalaPregunta extends BaseEntity { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @Column(length = 255) 
    private String pregunta; 

    @OneToMany(mappedBy = "pregunta", cascade = CascadeType.ALL) 
    private Collection<EscalaResposta> respostes; 

    @OneToMany(mappedBy = "pregunta", cascade = CascadeType.PERSIST) 
    private Collection<ValoracioItem> valoracioItems; 

    @Id 
    public Long getId(){ 
     return id; 
    } 
相同

Class EscalaResposta

@Entity 
@Table(name = "a_escalaResposta") 
public class EscalaResposta extends BaseEntity { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @ManyToOne(optional = false) 
    @JoinColumn(name = "idEscalaPregunta", referencedColumnName = "id", nullable = false) 
    private EscalaPregunta pregunta; 

类ValoracioItem这样

@ManyToOne(cascade = CascadeType.PERSIST, optional = false) 
    @JoinColumn(name = "idEscalaPregunta", referencedColumnName = "id", nullable = false) 
    private EscalaPregunta pregunta; 

回答

0

问题

@Entity 
@Table(name = "t_valoracioitem") 
public class ValoracioItem extends BaseEntity { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @ManyToOne(cascade = CascadeType.PERSIST, optional = false) 
    @JoinColumn(name = "idEscalaPregunta", nullable = false) 
    private EscalaPregunta pregunta; 
0

您已经ValoracioItem实体错过以下属性

referencedColumnName = "id" 

应该是成才的注解@Id在repeted该属性和getter方法。

+0

不幸的是,我得到了同样的错误。引起:org.hibernate.MappingException:无法确定类型:java.util.Collection,在表:a_escalaPregunta,对于列:[org.hibernate.mapping.Column(valoracioItems)]“}, – Joe

相关问题