当我尝试运行我的应用程序类时,它会给我以下错误:
2021-04-26 16:20:47.551错误14416---[main]j.localcontainerentitymanagerfactorybean:未能初始化jpa entitymanagerfactory:在org.hibernate.mapping.table(property)及其相关的超表和辅助表中找不到逻辑名称为property\u id的列
从这一点来看,我觉得我可能命名不正确,但即使我进入表并直接复制字段名,也没有解决问题。
财产实体如下:
@Entity
@Table(name = "property")
public class Property {
@Id
@OneToOne
@JoinColumn(name = "property_id", referencedColumnName = "property_id")
private Address address;
// other fields
其表结构为:
而它所连接的地址实体是:
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue
@Column(name = "property_id")
private Long propertyID;
// other fields
表结构:
如您所见,我的名称是正确的,而且我相信我的数据源的格式是正确的,如果我使用的列名不在表中,intellij会抛出一个警告,说它无法解析该列,而我现在在编写它们时没有得到该警告。
这是我第一个使用jpa的大项目,所以我可能会错过一些明显的东西,但任何帮助都会非常感谢,我看了其他解决方案,并尝试了一些建议,但他们似乎都略有不同,不适用于我正在尝试的。任何帮助都将不胜感激:)
1条答案
按热度按时间tktrz96b1#
有关派生标识符,请参阅hibernate orm文档。