无法在JPA Springboot中找到具有逻辑名称的列
有两个桌子。酒店内的地址。我已经提到了Onetomany的关系。但是编译器投掷错误。
错误创建bean用“ entitymanagerfactory”中定义的name' 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/hibernatejpaconfiguration.class]: init方法的调用失败;嵌套异常是 org.hibernate.mappingException:无法找到具有逻辑的列 名称:org.hibernate.mapping.table(地址)及其 相关的超级物品和辅助表
饭店。java
@AllArgsConstructor
@Data
@Entity
@Table(name = "hotels")
@NoArgsConstructor
public class HotelEntity {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "hote_id")
private String hotelId;
@Column(name = "hotel_name")
private String hotelName;
@Column(name = "build_date")
private Date buildDate;
@Column(name = "guest_type") @Enumerated(EnumType.STRING)
private GuestType guestType;
@Column(name = "room")
@OneToMany(targetEntity = RoomEntity.class,cascade = CascadeType.ALL)
@JoinColumn(name = "hotel_room", referencedColumnName = "roomId")
private List<Room> room;
@OneToOne(targetEntity = AddressEntity.class,cascade = CascadeType.ALL)
@JoinColumn(name = "hotel_address", referencedColumnName = "addressId")
private Address hotelAddress;
地址。java
@Entity
@Table(name = "ADDRESS")
@Getter
@Setter
@ToString
@RequiredArgsConstructor
public class AddressEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "address_id")
private String addressId;
@Column(name = "street_name")
private String streetName;
@Column(name = "city")
private String city;
@Column(name = "zip_code")
private String zipCode;
@Column(name = "country")
private String country;
}
我尝试了一些更改的变量名称,如果我缺少某些东西,也要仔细检查。但是看起来我遵循的方式与其他堆栈溢出问题中提到的方式相同。我想念什么吗?
There are two tables. Address inside Hotel. I have already mentioned OneToMany relation. But compiler throwing error.
Error creating bean with name 'entityManagerFactory' defined in class
path resource
[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]:
Invocation of init method failed; nested exception is
org.hibernate.MappingException: Unable to find column with logical
name: addressId in org.hibernate.mapping.Table(address) and its
related supertables and secondary tables
Hotel.java
@AllArgsConstructor
@Data
@Entity
@Table(name = "hotels")
@NoArgsConstructor
public class HotelEntity {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "hote_id")
private String hotelId;
@Column(name = "hotel_name")
private String hotelName;
@Column(name = "build_date")
private Date buildDate;
@Column(name = "guest_type") @Enumerated(EnumType.STRING)
private GuestType guestType;
@Column(name = "room")
@OneToMany(targetEntity = RoomEntity.class,cascade = CascadeType.ALL)
@JoinColumn(name = "hotel_room", referencedColumnName = "roomId")
private List<Room> room;
@OneToOne(targetEntity = AddressEntity.class,cascade = CascadeType.ALL)
@JoinColumn(name = "hotel_address", referencedColumnName = "addressId")
private Address hotelAddress;
Address.java
@Entity
@Table(name = "ADDRESS")
@Getter
@Setter
@ToString
@RequiredArgsConstructor
public class AddressEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "address_id")
private String addressId;
@Column(name = "street_name")
private String streetName;
@Column(name = "city")
private String city;
@Column(name = "zip_code")
private String zipCode;
@Column(name = "country")
private String country;
}
I tried some changing in variable name also double checked if I am missing something. but looks I have followed same way as mentioned in other Stack Overflow questions. Am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
引用的columnname
应参考@column
名称,而不是Java属性名称Change
readecce> readeccecolumnName
从selidse> selidseid
值 toaddress_id
referencedColumnName
shall refer to the@Column
name and not java attribute nameChange
referencedColumnName
value fromaddressId
toaddress_id