我有这样的实体定义:
@ManyToOne
private DomainObject domainObject;
运行代码时出现此错误:
2017-10-30 14:58:52,517 WARN rnate.engine.jdbc.spi.SqlExceptionHelper: 127 - SQL Error: 1054, SQLState: 42S22
2017-10-30 14:58:52,520 ERROR rnate.engine.jdbc.spi.SqlExceptionHelper: 129 - Unknown column 'domainObject_id' in 'field list'
我的表FK列名为
domain_object_id
。我的application.yml中有这个:
properties:
hibernate:
naming:
strategy: org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy
我期望它以
domain_object_id
的形式生成SQL,但是它将转换为domainObject_id
。我究竟做错了什么?其他非外键列正在转换正常。问题仅在于外键列。
最佳答案
尝试使用javax.persistence.JoinColumn
@ManyToOne
JoinColumn(name="domain_object_id")
private DomainObject domainObject;
这样,您可以确保该列将完全按照您的名称命名