我刚刚使用Hibernate逆向工程对我的项目进行逆向工程,我发现它创建了许多POJO java类和很多* .hbm.xml文件。
过去我的java代码看起来像这样:
@Entity
@Table(name = "enrollment")
public class Enrollment {
@Id
@Column(name = "enrollment_id")
private Integer enrollment_id;
@Column(name = "file_num")
private String file_num;
@Column(name = "eis_num")
private String eis_num;
@Column(name = "enrollment_type_id")
private String enrollment_type_id;
@Column(name = "ssn")
private String ssn;
@Column(name = "first_name")
private String first_name;
@Column(name = "last_name")
private String last_name;
@Column(name = "middle_initial")
private String middle_initial;
@Column(name = "contact_id")
private Integer contact_id;
@Column(name = "retired_date")
private String retired_date;
@Column(name = "deferred_date")
private String deferred_date;
@Column(name = "school_id")
private String school_id;
@Column(name = "borough_id")
private String borough_id;
@Column(name = "profile_id")
private String profile_id;
@Column(name = "current_status")
private String current_status;
@Column(name = "last_update")
private String last_update;
@Column(name = "entry_date")
private String entry_date;
public void setProfile_id(String profile_id) {
this.profile_id = profile_id;
}
public Integer getEnrollment_id() {
return enrollment_id;
}
public void setEnrollment_id(Integer enrollment_id) {
this.enrollment_id = enrollment_id;
}
public String getFile_num() {
return file_num;
}
public void setFile_num(String file_num) {
this.file_num = file_num;
}
public String getEis_num() {
return eis_num;
}
public void setEis_num(String eis_num) {
this.eis_num = eis_num;
}
public String getEnrollment_type_id() {
return enrollment_type_id;
}
public void setEnrollment_type_id(String enrollment_type_id) {
this.enrollment_type_id = enrollment_type_id;
}
public String getSsn() {
return ssn;
}
public void setSsn(String ssn) {
this.ssn = ssn;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public String getMiddle_initial() {
return middle_initial;
}
public void setMiddle_initial(String middle_initial) {
this.middle_initial = middle_initial;
}
public Integer getContact_id() {
return contact_id;
}
public void setContact_id(Integer contact_id) {
this.contact_id = contact_id;
}
public String getRetired_date() {
return retired_date;
}
public void setRetired_date(String retired_date) {
this.retired_date = retired_date;
}
public String getDeferred_date() {
return deferred_date;
}
public void setDeferred_date(String deferred_date) {
this.deferred_date = deferred_date;
}
public String getSchool_id() {
return school_id;
}
public void setSchool_id(String school_id) {
this.school_id = school_id;
}
public String getBorough_id() {
return borough_id;
}
public void setBorough_id(String borough_id) {
this.borough_id = borough_id;
}
public String getCurrent_status() {
return current_status;
}
public void setCurrent_status(String current_status) {
this.current_status = current_status;
}
public String getLast_update() {
return last_update;
}
public void setLast_update(String last_update) {
this.last_update = last_update;
}
public String getEntry_date() {
return entry_date;
}
@Override
public String toString() {
return "Enrollment [enrollment_id=" + enrollment_id + ", file_num="
+ file_num + ", eis_num=" + eis_num + ", enrollment_type_id="
+ enrollment_type_id + ", ssn=" + ssn + ", first_name="
+ first_name + ", last_name=" + last_name + ", middle_initial="
+ middle_initial + ", contact_id=" + contact_id
+ ", retired_date=" + retired_date + ", deferred_date="
+ deferred_date + ", school_id=" + school_id + ", borough_id="
+ borough_id + ", profile_id=" + profile_id
+ ", current_status=" + current_status + ", last_update="
+ last_update + ", entry_date=" + entry_date
+ ", getEnrollment_id()=" + getEnrollment_id()
+ ", getFile_num()=" + getFile_num() + ", getEis_num()="
+ getEis_num() + ", getEnrollment_type_id()="
+ getEnrollment_type_id() + ", getSsn()=" + getSsn()
+ ", getFirst_name()=" + getFirst_name() + ", getLast_name()="
+ getLast_name() + ", getMiddle_initial()="
+ getMiddle_initial() + ", getContact_id()=" + getContact_id()
+ ", getRetired_date()=" + getRetired_date()
+ ", getDeferred_date()=" + getDeferred_date()
+ ", getSchool_id()=" + getSchool_id() + ", getBorough_id()="
+ getBorough_id() + ", getCurrent_status()="
+ getCurrent_status() + ", getLast_update()="
+ getLast_update() + ", getEntry_date()=" + getEntry_date()
+ ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
+ ", toString()=" + super.toString() + "]";
}
public void setEntry_date(String entry_date) {
this.entry_date = entry_date;
}
}
但是Hibernate逆向工程创建的代码没有任何@ Entity,@ Table或@Column标签,看起来所有的映射都在hbm.xml中。我如何在Spring MVC项目中使用它们
答案 0 :(得分:1)
您可以使用hbm.xml文件,将其包含在applicationContext中并在项目中使用它。唯一的区别是所有映射都将出现在hbm文件中。在你的代码中将它们作为注释放在哪里。
您的应用程序上下文应如下所示:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="mappingResources">
<list>
<!-- All your hbms --><value>yourHbmFile.hbm.xml</value>
</list>
</property>
..
.
</bean>
此外,如果您想要映射包含所有hbm的目录,您可以使用:
<property name="mappingDirectoryLocations" value="classpath:org/../hibernate/model" />