我想用两个指向同一对象的复合外键构造一个对象,但它们似乎具有相同的数据,就像只在一列上进行连接一样,product_id。学说多个复合外键
class PostpaidProduct extends Product {
/**
* @ManyToOne(targetEntity="Bundle", fetch="EAGER", cascade={"persist"})
* @JoinColumn(name="bundle_voice_id", referencedColumnName="id")
*/
private $bundleVoice;
/**
* @ManyToOne(targetEntity="Bundle", fetch="EAGER", cascade={"persist"})
* @JoinColumn(name="bundle_data_id", referencedColumnName="id")
*/
private $bundleData;
/**
* @OneToMany(targetEntity="BundlePromo", mappedBy="product", fetch="EAGER", cascade={"persist"})
* @JoinColumns({
* @JoinColumn(name="id", referencedColumnName="product_id"),
* @JoinColumn(name="bundle_voice_id", referencedColumnName="bundle_id")
* })
*/
private $bundleVoicePromos;
/**
* @OneToMany(targetEntity="BundlePromo", mappedBy="product", fetch="EAGER", cascade={"persist"})
* @JoinColumns({
* @JoinColumn(name="id", referencedColumnName="product_id"),
* @JoinColumn(name="bundle_data_id", referencedColumnName="bundle_id")
* })
*/
private $bundleDataPromos;
}
什么是错我的映射? 是否有可能具有复合外键但不是主键?
错误是什么? Btw @Id是必需的;您应该添加组合键的每个属性。 – DEY