我有一个名为Booking的@Inheritance(策略= TABLE_PERCLASS)的抽象@Entity。
是否可以将@Entity Payment.java与抽象类具有@ManyToOne关系?
我不确定列映射是如何进行的,所以我尝试使用drop和create table进行部署,Eclipselink在部署时给出了NPE :-)
异常说明:PersistenceUnit [xotica-bms-pu]的预部署失败。 内部异常:java.lang.NullPointerException at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createPredeployFailedPersistenceException(EntityManagerSetupImpl.java:1954) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1945) 在org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:322)
答案 0 :(得分:0)
没有
每个类的表意味着每个具体实体映射到不同的表。这意味着抽象实体在数据库中没有对应的表。因此,与依赖实体相对应的表(具有manyToOne关系)无法定义外键,因为外键没有目标表。
如果你需要与抽象实体有ManyToOne关系,那么你只能使用JOINED或SINGLE_TABLE继承。