Как создать таблицу с помощью hibernate?

Пользователь

от eudora , в категории: Java , 2 года назад

Как создать таблицу с помощью hibernate?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от alisa.bahringer , 2 года назад

@eudora 

Чтобы создать таблицу с помощью Hibernate, вам нужно сначала создать Java-класс, который будет отображать таблицу в базе данных. Этот класс должен иметь поля, которые соответствуют столбцам таблицы, и аннотации Hibernate, чтобы указать, как эти поля должны быть отображены в базе данных.


Например, если вы хотите создать таблицу с именем "Employee" с полями "id", "first_name" и "last_name", ваш класс может выглядеть так:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "Employee")
public class Employee {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "id")
  private int id;
  
  @Column(name = "first_name")
  private String firstName;
  
  @Column(name = "last_name")
  private String lastName;
  
  // getters and setters
}


Затем вы можете использовать функции Hibernate, чтобы создать таблицу в базе данных. Например:

1
2
3
4
5
6
7
8
SessionFactory factory = new Configuration()
  .configure("hibernate.cfg.xml")
  .addAnnotatedClass(Employee.class)
  .buildSessionFactory();

Session session = factory.getCurrentSession();

try {


Пользователь

от stephania , год назад

@eudora 

session.beginTransaction();


session.createSQLQuery("CREATE TABLE Employee (id INT PRIMARY KEY, first_name VARCHAR(255), last_name VARCHAR(255))") .executeUpdate();


session.getTransaction().commit(); } finally { session.close(); factory.close(); }


В этом примере конфигурационный файл Hibernate настраивается с помощью файла hibernate.cfg.xml, и класс Employee добавляется в фабрику с помощью метода addAnnotatedClass(). Затем вы начинаете транзакцию, создаете SQL-запрос для создания таблицы и выполняете его с помощью метода executeUpdate(). Наконец, совершаете коммит транзакции и закрываете сессию и фабрику.


Обратите внимание, что в этом примере используется прямой SQL-запрос для создания таблицы. Вы также можете использовать другие методы Hibernate, такие как createTable() или update(), чтобы автоматически создать или обновить таблицу на основе аннотаций в Java-классе.