Пример отображения компонента Hibernate

Пример отображения компонента Hibernate

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

1. Таблица клиентов

Смотрите ниже таблицу клиентов.

customer table

Таблица клиентов, 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 КБ)