Я создал простой класс и простые таблицы базы данных для проверки концепций спящего режима. Класс назван "Сотрудник":Как сопоставить файл сопоставления hibernate без идентификатора атрибута в классе?
public class Employee {
private String firstName;
private String lastName;
private int salary;
public Employee(String fname, String lname, int salary) {
this.firstName = fname;
this.lastName = lname;
this.salary = salary;
}
...
}
Названия базы данных "СОТРУДНИК":
create table EMPLOYEE (
id INT NOT NULL auto_increment,
first_name VARCHAR(20) default NULL,
last_name VARCHAR(20) default NULL,
salary INT default NULL,
PRIMARY KEY (id)
);
Это мой Employee.hbm.xml:
<hibernate-mapping>
<class name="Employee" table="EMPLOYEE">
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
...
...
</class>
</hibernate-mapping>
Итак, вы можете заметить, что в моем классе у него нет атрибута «id». Однако я создаю столбец id в моей базе данных, чтобы он стал основным ключом, который автоматически генерируется. В этом случае я не знаю, что мне следует поместить в <id name="?" type="int" column="id">
, чтобы сопоставить мой класс с моей базой данных. Если я проигнорирую это, это будут некоторые проблемы после этого?
не будет ли это зависеть от того, как ваши дескрипторы «auto_increment» обрабатываются и почему вы не хотите отображать это в классе? –
@domfarr: Значит, мне не нужно определять его в Employee.hbm.xml, не так ли? Тем не менее, я думаю, что это будет некоторые проблемы после этого. – lvarayut