Java 休眠更改我的字段名

Java 休眠更改我的字段名,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我正在使用以下类和MySQL数据库练习Hibernate @Entity @Table(name="Student") public class Student { @Id @GeneratedValue private int student_id; private String student_name; @ManyToOne(cascade=CascadeType.ALL) private StudentAddress address;

我正在使用以下类和MySQL数据库练习Hibernate

@Entity
@Table(name="Student")
public class Student {

    @Id
    @GeneratedValue
    private int student_id;

    private String student_name;

    @ManyToOne(cascade=CascadeType.ALL)
    private StudentAddress address;

    @Transient
    @Temporal(TemporalType.DATE)
    private Date birthDay;

    public Student() {
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public int getStudent_id() {
        return student_id;
    }

    public void setStudent_id(int rollNo) {
        this.student_id = rollNo;
    }

    public String getStudent_name() {
        return student_name;
    }

    public void setStudent_name(String name) {
        this.student_name = name;
    }

    public StudentAddress getAddress() {
        return address;
    }

    public void setAddress(StudentAddress address) {
        this.address = address;
    }
}

@Entity
@Table(name="student_address")
public class StudentAddress {

    @Id
    @GeneratedValue
    private int address_id;

    private String address_detail;

    public int getAddress_id() {
        return address_id;
    }

    public void setAddress_id(int address_id) {
        this.address_id = address_id;
    }

    public String getAddress_detail() {
        return address_detail;
    }

    public void setAddress_detail(String address_detail) {
        this.address_detail = address_detail;
    }
}
我不断从这些sql语句中得到以下错误消息:

Hibernate: insert into student_address (address_detail) values (?)
Hibernate: insert into Student (address_address_id, student_name) values (?, ?)
错误消息:

Unknown column '**address_address_id'** in 'field list'
我的数据库具有字段名
地址\u id

Hibernate不断将
地址
附加到
地址_id
并更改列名。我可能会在我的数据库中将字段名从
address
更改为
address\u address\u id
,但发生这种情况的原因是什么。这是Hibernate中的有效行为吗?我可以更改它吗?

这是Hibernate用于
@manytone
关联的行为:

默认值(仅在使用单个联接列时适用): 下列内容的串联:引用的名称 引用实体或可嵌入实体的关系属性或字段 阶级;"_"; 引用的主键列的名称。如果有 实体中没有此类引用关系属性或字段,或 如果联接用于元素集合,则联接列名为 由以下内容串联而成:实体名称; "_"; 引用的主键列的名称

要指定所需的列名,请执行以下操作:

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="address")
private StudentAddress address;

这解决了我的问题。谢谢。我花了大约1.5个小时想弄明白。