来自JPA的AssociationOverrides无法正常工作

时间:2014-10-08 16:32:00

标签: java hibernate jpa

这是我迄今为止所拥有的:

Class 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

}

Class 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,它的效果非常好。这个映射有什么问题?我有其他完全相同的映射,它们工作正常。

1 个答案:

答案 0 :(得分:0)

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