我的实体定义如下:
@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
我原本希望它生成SQL为domain_object_id
,但它转换为domainObject_id
。我做错了什么?
其他非外键列正在转换为正常。问题仅在于外键列。
答案 0 :(得分:1)
尝试使用javax.persistence.JoinColumn
@ManyToOne
JoinColumn(name="domain_object_id")
private DomainObject domainObject;
通过这种方式,您可以确保该列的名称完全符合您的要求
答案 1 :(得分:0)
由于此属性domainObject_id
private DomainObject domainObject;
如果您期待domain_object_id
,请使用private DomainObject domain_object;
。由于_id
将附加在参数名称的末尾。