我正在使用Hibernate和Lombok开发一个Spring Boot应用程序.我将实体类Product映射到数据库中的PRODUCT表.以下是代码的相关部分:
@Entity
@Table(name = "product")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ProductId")
private int id;
// Other fields...
}
当我运行我的应用程序时,我得到以下错误:
ERROR o.h.engine.jdbc.spi.SqlExceptionHelper : Unknown column 'p1_0.product_id' in 'field list'
个
Hibernate似乎正在将实体类中的驼峰大小写字段名‘ProductID’转换为数据库中以下划线分隔的列名‘product_id’,从而导致不匹配.
我try 更改@Column注释以匹配数据库中的实际列名,但没有解决问题.我还判断了我的数据库模式,它确实有一个‘ProductID’列.
有没有办法更改Hibernate命名策略,使其不会自动转换字段名?我希望实体类中的名称直接映射到数据库中的列名,而无需任何修改.