我正在尝试使用JPA
将表映射到类@Entity @Table(Data) public class AllData implements Serializable { @Id @Column(name="AppID") private String appID; @Column(name="firms_bad_dt_in_last") private String no_of_firms_has_bad_debt_in_last_3_years_Including_credit_card; }
现在当hibernate连接到数据库时,它正在创建一个名为no_of_firms_has_bad_debt_in_last_3_years_Including_credit_card的新列,而不是将其映射到现有列(firm_bad_dt_in_last)。我错过了什么?
我不想创建新列,我希望它映射到现有列并从中获取数据..我该怎么做?谢谢!
我正在使用spring-boot。
答案 0 :(得分:0)
如果db中不存在这些表,那么默认情况下hibernate将获取属性名称并使用这些属性名创建表。如果db中存在表,那么你在db表中提到的列名是什么必须与@Column(name =“”)中应该提到的列名相同,然后才会发生映射。
答案 1 :(得分:0)
如果要关闭此功能,可以更改以下hibernate属性。此外,如果您使用的是postgressql或任何其他具有区分大小写列的数据库,那么您需要检查列所属的情况。
<prop key="hibernate.hbm2ddl.auto">validate</prop>