2015-10-03 19 views
5

Sınıf Media devralır ile sınıf CD'si var Hazırda Bir yabancı anahtar adı ve ben istediğim adla bunu geçersiz kılmak istiyorum:geçersiz kılma katıldı-miras yabancı anahtar adı/

03-10 18: 16: 58,174 [ana] DEBUG org.hibernate.SQL - masa cd kısıtlaması FK_ehd468g2cptgh6bq6sxe75xlf yabancı anahtar (id) başvuran eklemek değiştirebilir medya (id)

bunu nasıl yapmalı?

@Entity 
@AssociationOverride(
    name = "id", 
    foreignKey = @ForeignKey(name = "fk_cd_media") 
) 
public class CD extends Media { 
    ... 
} 

ve

@Entity 
@PrimaryKeyJoinColumn([email protected](name = "fk_cd_media")) 
public class CD extends Media { 
    ... 
} 

ama çalışmıyor: denedim. İşte

oluşturmak tablo sql oluşturulur:

CREATE TABLE `cd` (
    `artist` varchar(255) DEFAULT NULL, 
    `year` int(11) NOT NULL, 
    `id` bigint(20) NOT NULL, 
    PRIMARY KEY (`id`), 
    CONSTRAINT `FK_ehd468g2cptgh6bq6sxe75xlf` FOREIGN KEY (`id`) REFERENCES `media` (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 

isterim:

@Entity 
@PrimaryKeyJoinColumn([email protected](name = "fk_cd_media")) 
public class CD extends Media { 
    ... 
} 

sorun olduğunu:

CONSTRAINT `fk_cd_media` FOREIGN KEY (`id`) REFERENCES `media` (`id`) 

cevap