Exemple de mappage de composant Hibernate

Exemple de mappage de composant Hibernate

Le composant Hibernate représente un groupe de valeurs ou de propriétés, et non une entité (table). Consultez le didacticiel suivant pour comprendre le fonctionnement du composant dans Hibernate.

1. Table client

Voir ci-dessous le tableau client.

customer table

Table client, script SQL dans la base de données 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. Classe de modèle

Maintenant, créez deux classes de modèle,Customer.java etAddress.java, pour représenter le tableau «customer» ci-dessus.

Fichier: 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
}

Fichier: 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
}

Dans ce cas,Address.java est un «component» représente les colonnes «Address1», «Address2» et «Address3» pourCustomer.java

3. Cartographie des composants

Maintenant, vous pouvez déclarer le mappage des composants comme ceci:

Fichier: Customer.hbm.xml




    

        
            
            
        
        
            
        
        
            
        

        
            
                
            
            
                
            
            
                
            
        

        
            
        
        
            
        
    

4. Exécuter

Créez un objet Adresse, incluez-le dans l'objet Client et conservez-le.

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");
    }
}

Production…

Hibernate component mapping
Hibernate:
    insert
    into
        exampledb.customer
        (CUST_NAME, AGE, ADDRESS1, ADDRESS2, ADDRESS3, CREATED_DATE, CREATED_BY)
    values
        (?, ?, ?, ?, ?, ?, ?)
Done

Téléchargez-le -Hibernate-Component-Mapping-Example.zip (10 Ko)