0
我的jpa映射有什么错误,即时尝试将具有一个主关键字的父类映射到具有复合关键字的子类,但似乎它插入错误的表中,它已经产生2表,但不幸的是我没有约束力的外键(policy_value_summary_id)休眠/ JPA - 复合关键子代的一个主关键字
子类具有复合主键与一个是父ID。
@Entity
@Table(name = "POLICY_VALUE")
public class PolicyValue {
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "policyValueSummaryId", column = @Column(name = "POLICY_VALUE_SUMMARY_ID")),
@AttributeOverride(name = "planAtrId", column = @Column(name = "PLAN_ATR_ID")) })
private PolicyValuePk policyValuePk;
}
这是我的孩子类组合键。
@Embeddable
public class PolicyValuePk implements Serializable {
private Long policyValueSummaryId;
private Long planAtrId;
}
我试着去保存策略汇总值(父)与策略值(子类)这样
PolicyValuePk pk = new PolicyValuePk();
pk.setPlanAtrId(Long.valueOf("1"));
Set<PolicyValue> policyValues = new HashSet<>();
policyValues.add(new PolicyValue(pk));
PolicyValueSummary summary = new PolicyValueSummary();
summary.setPolicyValues(policyValues);
repo.save(summary);
这里是错误输出到我
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into policy_value_summary (policy_value_summary_id) values (?)
Hibernate: insert into policy_value_summary_policy_values (policy_value_summary_policy_value_summary_id, policy_values_plan_atr_id, policy_values_policy_value_summary_id) values (?, ?, ?)
WARN 6880 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 972, SQLState: 42000
ERROR 6880 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : ORA-00972: identifier is too long
最多128个字节,但我已经添加了注解@Table(name =“POLICY_VALUE”)的策略值,但它一直插入到错误的表和列(它将父类连接到它的子表和列) – KoiaH