这是我迄今为止所拥有的:
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,它的效果非常好。这个映射有什么问题?我有其他完全相同的映射,它们工作正常。
答案 0 :(得分:0)
问题解决了。参与这些映射的实体未标记为@Entity。