2
我有一个运行简单的JPA项目(在WebSphere 7上使用IBM RAD 7.5)。一个简单的JPA @OneToMany正在为不存在的表生成SQL语句
我有一个客户,有很多订单。看起来这...
@Entity
public class Customer /* in table CC_CUSTOMER */
@Id
BigDecimal customerId;
@OneToMany(fetch=FetchType.EAGER)
private List<Order> orderList;
...
@Entity
public class Order /* in table CC_ORDER */
@Id
BigDecimal orderId;
Customer customer;
我的问题是,当我尝试检索一个客户,我得到一个错误,因为那是由JPA生成的SQL包含选择一个不存在的表称为:CC_CUSTOMER_CC_ORDER
我在做什么错了?
谢谢!
Rob
感谢 - 一个新问题,现在生成查询正在ORDER表中寻找一个ORDER.CUSTOMER_CUSTOMERID字段,它不存在 - 任何想法? (ORDER.CUSTOMERID确实存在。) – 2012-02-28 17:06:11
仅供参考,我在@ManyToOne后添加了@JoinColumn(name =“customerid”),并在离开时添加了新错误。但是,当我检索客户时,我的测试未在订单中加载。 (提取类型渴望客户。)任何想法? (或者我应该提出一个新问题?) – 2012-02-28 17:19:06
如何将数据插入到数据库中?你能否检查表中是否包含正确的值(特别是如果订单表中的customerid列被填充)?如果您使用JPA插入,请不要忘记将订单添加到订单列表中,并在订单实体中设置客户财产。 – 2012-02-29 06:52:56