首页 文章

JPA自己创建列

提问于
浏览
0

我正在尝试使用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 靴 .

2 回答

  • 0

    如果要关闭此功能,可以更改以下hibernate属性 . 此外,如果您使用的是postgressql或任何其他具有区分大小写列的数据库,则需要检查列所属的情况 .

    <prop key="hibernate.hbm2ddl.auto">validate</prop>
    
  • 0

    如果db中不存在表,那么默认情况下hibernate将获取属性名称并使用这些属性名创建表 . 如果db中存在表,那么db表中提到的列名必须相同作为@Column(name =“”)中应该提到的列名,那么只会发生映射 .

相关问题