I use Eclipse Indigo with plugin Hibernate Tools (JBoss by red hat) for database connection I use Microsoft SQL Server 2008 JDBC Driver.
When I try to use Reverse Engineering tool (hibernate code generation configuration tool) to generate class based on database table, instead of "string" type fields I get "Serializable" type fields.
import java.io.Serializable;
/**
* Customers generated by hbm2java
*/
public class Customers implements java.io.Serializable {
private Serializable customerId;
private Serializable companyName;
private Serializable contactName;
private Serializable contactTitle;
private Serializable address;
private Serializable city;
private Serializable region;
private Serializable postalCode;
private Serializable country;
private Serializable phone;
private Serializable fax;
public Customers() {
}
public Customers(Serializable customerId, Serializable companyName) {
this.customerId = customerId;
this.companyName = companyName;
}
public Customers(Serializable customerId, Serializable companyName,
Serializable contactName, Serializable contactTitle,
Serializable address, Serializable city, Serializable region,
Serializable postalCode, Serializable country, Serializable phone,
Serializable fax) {
this.customerId = customerId;
this.companyName = companyName;
this.contactName = contactName;
this.contactTitle = contactTitle;
this.address = address;
this.city = city;
this.region = region;
this.postalCode = postalCode;
this.country = country;
this.phone = phone;
this.fax = fax;
}
public Serializable getCustomerId() {
return this.customerId;
}
public void setCustomerId(Serializable customerId) {
this.customerId = customerId;
}
public Serializable getCompanyName() {
return this.companyName;
}
public void setCompanyName(Serializable companyName) {
this.companyName = companyName;
}
public Serializable getContactName() {
return this.contactName;
}
public void setContactName(Serializable contactName) {
this.contactName = contactName;
}
public Serializable getContactTitle() {
return this.contactTitle;
}
public void setContactTitle(Serializable contactTitle) {
this.contactTitle = contactTitle;
}
public Serializable getAddress() {
return this.address;
}
public void setAddress(Serializable address) {
this.address = address;
}
public Serializable getCity() {
return this.city;
}
public void setCity(Serializable city) {
this.city = city;
}
public Serializable getRegion() {
return this.region;
}
public void setRegion(Serializable region) {
this.region = region;
}
public Serializable getPostalCode() {
return this.postalCode;
}
public void setPostalCode(Serializable postalCode) {
this.postalCode = postalCode;
}
public Serializable getCountry() {
return this.country;
}
public void setCountry(Serializable country) {
this.country = country;
}
public Serializable getPhone() {
return this.phone;
}
public void setPhone(Serializable phone) {
this.phone = phone;
}
public Serializable getFax() {
return this.fax;
}
public void setFax(Serializable fax) {
this.fax = fax;
}
}
add into yours hibernate.reveng.xml following type-mapping element
You need to edit "hibernate.reveng.xml" And map the JDBC fields to the Hibernate Types like
Also to get more concrete answer just specify the Database Table Structure of Customer(s) Table.
Hope this helps.