item表(local_id, product_id, name, price)local_ id为主键
sku表(local_id, product_id, item_cd, sku_cd)local_id为主键
一条item表数据可以有多条sku表数据。两表的关联字段为product_id,非主键关联。
以上只是简单的列举表部分表字段。现在我要向item表、sku表写入数据。映射关系该怎么写?
我目前写的代码如下:
1、sku表映射类中:
@ManyToOne 
@JoinColumn(name = "\"product_id\"", referencedColumnName = "\"product_id\"")
private ReceivedEcItem ecItem;
2、Item表映射类中:
@OneToMany(mappedBy="\"ecItem\"")
private Set<ReceivedEcSku> ecSkus;出现错误如下:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.2.0.v20101117-r8503): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'ECITEM_local_id' in 'field list'
Error Code: 1054
Call: INSERT INTO `ec_sku` (`item_cd`, `sale_price`, `shop_code`, `sku_cd`, `sku_id`, `sku_prop1`, `sku_prop10`, `sku_prop2`, `sku_prop3`, `sku_prop4`, `sku_prop5`, `sku_prop6`, `sku_prop7`, `sku_prop8`, `sku_prop9`, ECITEM_local_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [null, null, 3, 30093502-11-9, null, abcddeefef, null, 9, null, null, null, null, null, null, null, 56]错误中有“ECITEM_local_id”这个字段,真正的应该是product_id才对。需要怎么设定?