2014-10-08 29 views
2

这里就是我直到现在:AssociationOverrides不能正常工作

类PedidoProduto

@Entity 
@Table(name = "pedido_produto") 
@AssociationOverrides({ 
     @AssociationOverride(name = "pedProd.pedido", joinColumns = @JoinColumn(name = "pedido_id")), 
     @AssociationOverride(name = "pedProd.produto", joinColumns = @JoinColumn(name = "produto_id")) }) 
public class PedidoProduto { 

    @EmbeddedId 
    private PedidoProdutoId pedProd = new PedidoProdutoId(); 

    @Column(name="quantidade") 
    private double quantidade; 

    // Getters and setters 

} 

类PedidoProdutoId:

@Embeddable 
public class PedidoProdutoId implements java.io.Serializable { 

    private static final long serialVersionUID = 1L; 

    @ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL) 
    private Pedido pedido; 

    @ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL) 
    private Produto produto; 

} 

Hibernate是为了给我这个错误:

Exception in thread "main" javax.persistence.PersistenceException: Unable to build entity manager factory 

如果我删除PedidoProdutoId和PedidoProduto,它可以很好地工作。这个映射有什么问题?我有其他映射完全相同,他们正在完善。

回答

0

问题解决。参与这些映射的实体未被标记为@Entity。