自定义Spring Data查询

时间:2019-12-20 12:24:49

标签: java spring jpa mapping

我在表中有'iddId'(主键)列和'idd_id'(未使用列)。当我尝试执行 通过Spring Data JPA的'findAll'方法,由于休眠查询如下所示,我在创建的对象中得到了空的'iddId'字段:

select 'idd0_.idd_id as col_0_0_'...

我尝试使用@Column(name =“ iddId”)注释手动映射字段,但未进行任何更改。然后,我尝试向实体'idd_id'添加一个附加字段,该实体以@Column(name =“ idd_id)注释,并收到异常:

'org.hibernate.DuplicateMappingException: Table [idd] contains physical column name [idd_id] referred to by multiple logical column names: [idd_id], [iddId]'.

是否可以这样查询:“将idd0_.iddId选择为col_0_0 _”?

public class Idd {
            @Id
            @Column(name = "iddId")
            private String iddId;

            @Column(name = "idd_id")
            private String idd_id;
}

MySql:5.7.28

春季数据:2.2.2

1 个答案:

答案 0 :(得分:-1)

只需添加:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

到application.properties