Почему код ниже получает ошибку, но аналогичный код работает в моем проекте. Почему я получаю недопустимый столбец таблицы для полей.Hibernate invalid table column
Сущности: Адрес
public class Address implements Serializable {
private int mNumber;
private String mName;
public int getNumber() {
return mNumber;
}
public Address() {
// TODO Auto-generated constructor stub
}
public Address(int pNumber, String pName) {
// TODO Auto-generated constructor stub
System.out.println("hello");
}
public void setNumber(int pNumber) {
mNumber = pNumber;
}
public String getName() {
return mName;
}
public void setName(String pName) {
mName = pName;
}
}
Студент
public class Student {
private String mSname;
private Address id;
public String getSname() {
return mSname;
}
public void setSname(String pSname) {
mSname = pSname;
}
public Address getId() {
return id;
}
public void setId(Address pId) {
id = pId;
}
}
Отображение файлов:
Student.hbm.xml
<hibernate-mapping>
<class name="com.hibernate.compositeid.Student" table="student24">
<composite-id name="id" class="com.hibernate.compositeid.Address">
<key-property name="Number" column="number" />
<key-property name="Name" column="name" />
</composite-id>
<property name="Sname" column="sname" />
</class>
</hibernate-mapping>
класс Test:
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
SessionFactory sf = new Configuration().configure(
"com/hibernate/compositeid/hibernate.cfg.xml")
.buildSessionFactory();
Session ss = sf.openSession();
Address ad = new Address();
ad.setName("krishnanagar");
ad.setNumber(1234);
Student s = new Student();
s.setSname("nani");
s.setId(ad);
ss.save(s);
ss.beginTransaction().commit();
}
}
Какие ошибки вы получили? – Khodabakhsh