Пример отображения компонента Hibernate
Компонент Hibernate представляет собой группу значений или свойств, а не сущность (таблица). См. Следующий учебник, чтобы понять, как компонент работает в Hibernate.
1. Таблица клиентов
Смотрите ниже таблицу клиентов.

Таблица клиентов, SQL-скрипт в базе данных MySQL.
CREATE TABLE `customer` ( `CUST_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, `CUST_NAME` varchar(10) NOT NULL, `AGE` int(10) unsigned NOT NULL, `ADDRESS1` varchar(255) NOT NULL, `ADDRESS2` varchar(255) NOT NULL, `ADDRESS3` varchar(255) NOT NULL, `CREATED_DATE` date NOT NULL, `CREATED_BY` varchar(10) NOT NULL, PRIMARY KEY (`CUST_ID`) USING BTREE );
2. Модельный класс
Теперь создайте два класса модели,Customer.java иAddress.java, чтобы представить таблицу «customer» выше.
Файл: Customer.java
package com.example.customer;
import java.util.Date;
public class Customer implements java.io.Serializable {
private Integer custId;
private String custName;
private int age;
private Address address;
private Date createdDate;
private String createdBy;
//setters and getters
}
Файл: Address.java
package com.example.customer;
public class Address implements java.io.Serializable {
private String address1;
private String address2;
private String address3;
//setters and getters
}
В этом случаеAddress.java - это «component», представляющее столбцы «Address1», «Address2» и «Address3» дляCustomer.java.
3. Сопоставление компонентов
Теперь вы можете объявить сопоставление компонентов следующим образом:
Файл: Customer.hbm.xml
4. Запустить его
Создайте объект Address, включите его в объект Customer и сохраните его.
package com.example;
import java.util.Date;
import org.hibernate.Session;
import com.example.customer.Address;
import com.example.customer.Customer;
import com.example.util.HibernateUtil;
public class App {
public static void main(String[] args) {
System.out.println("Hibernate component mapping");
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Address address = new Address();
address.setAddress1("Address 1");
address.setAddress2("Address 2");
address.setAddress3("Address 3");
Customer cust = new Customer();
cust.setCustName("example");
cust.setAge(30);
cust.setAddress(address);
cust.setCreatedDate(new Date());
cust.setCreatedBy("system");
session.save(cust);
session.getTransaction().commit();
System.out.println("Done");
}
}
Выход…
Hibernate component mapping
Hibernate:
insert
into
exampledb.customer
(CUST_NAME, AGE, ADDRESS1, ADDRESS2, ADDRESS3, CREATED_DATE, CREATED_BY)
values
(?, ?, ?, ?, ?, ?, ?)
Done
Скачать -Hibernate-Component-Mapping-Example.zip (10 КБ)