Java 使用hibernate反向工程更改POJO类的文件格式

Java 使用hibernate反向工程更改POJO类的文件格式,java,spring,hibernate,reverse-engineering,Java,Spring,Hibernate,Reverse Engineering,我不熟悉hibernate。我正在使用hibernate反向工程创建POJO类。我已经完成了xml类配置。第一次创建的POJO类如下所示 只有一个文件被创建为Student.java Student.java @Entity @Table(name = "student", schema = "dbo", catalog = "classI") public class Student implements java.io.Serializable { priva

我不熟悉hibernate。我正在使用hibernate反向工程创建POJO类。我已经完成了xml类配置。第一次创建的POJO类如下所示

只有一个文件被创建为Student.java

Student.java

    @Entity
    @Table(name = "student", schema = "dbo", catalog = "classI")
    public class Student implements java.io.Serializable {
    private long studentid;
    private String stuname;
    private Date rank;
    @Id
    @Column(name = "studentid", unique = true, nullable = false)

    public long getstudentid() {
    return this.studentid;
   }
   .................getter setter methods for all fields..........

   }
在第二次运行Hibernate配置时,Student.java文件更改如下

@Entity
@Table(name = "student", schema = "dbo", catalog = "classI")
public class Student implements java.io.Serializable {
private studentID id;

public Student () {
 }

public Student(studentID id) {
    this.id = id;
}
@EmbeddedId
@AttributeOverrides({
        @AttributeOverride(name = "stuname", column = @Column(name = "stuname")),
        @AttributeOverride(name = "rank", column = @Column(name = "rank"))

        })
         public studentID getId() {
        return this.id;
        }

    public void setId(studentID id) {
     this.id = id;
     }
     }
studentID.java

 @Embeddable
 public class studentID implements java.io.Serializable {
 private long studentid;
    private String stuname;
    private String rank;
    public studentID () {
     }
   public studentID (String stuname, String rank) {
    this.stuname= stuname;
    this.rank= rank;
    }
    @Column(name = "stuname")
public String getstuname() {
    return this.stuname;
}

public void setstuname(String stuname) {
    this.stuname= stuname;
}

@Column(name = "rank")
public String getrank() {
    return this.rank;
}

public void setrank(String rank) {
    this.rank= rank;
}
}

为一个表创建了两个文件。我不知道这里发生了什么。请告诉我为什么为一个表创建了两个文件。请指导我

有同样的问题,解决过你的吗?有同样的问题,解决过你的吗?