0
Hibernate бросает ошибку:Невозможно найти столбец с логическим именем: продукт
org.hibernate.MappingException:
Unable to find column with logical name: product in
org.hibernate.mapping.Table(product_part)
and its related supertables and secondary tables
Entity Класс
@Entity
@Table(name = "product_part")
public class ProductPart implements Serializable {
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@ManyToOne
@javax.persistence.JoinColumn(name = "product", referencedColumnName = "product", nullable = false)
private ProductPart productByProduct;
@ManyToOne
@javax.persistence.JoinColumn(name = "part", referencedColumnName = "part", nullable = false)
private Part partByPart;
}
MySQL таблица
CREATE TABLE `product_part` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product` int(11) NOT NULL,
`part` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_product` (`product`),
KEY `fk_part` (`part`),
CONSTRAINT `fk_product` FOREIGN KEY (`product`) REFERENCES `product` (`product`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_part` FOREIGN KEY (`part`) REFERENCES `part` (`part`) ON DELETE NO ACTION ON UPDATE NO ACTION
)
В чем проблема? Как это исправить?
UPDATE:
Связанные таблицы по внешнему ключу:
CREATE TABLE `part` (
`part` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(150) NOT NULL,
PRIMARY KEY (`part`)
)
и
CREATE TABLE `product` (
`product` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(150) NOT NULL,
PRIMARY KEY (`product`)
)
решаемые путем замены 'частного ProductPart productByProduct,' 'с частным продуктом продукта;' –