⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 associationsexample.java

📁 Hibernate基础教程一书源码.Hibernate是一个持久层开源框架
💻 JAVA
字号:
package com.hibernatebook.associations;

import java.io.Serializable;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class AssociationsExample {

    private static SessionFactory factory = 
        new AnnotationConfiguration().configure().buildSessionFactory();
    
    private static Session session;
    
    public static void main(String... args) {
        openSession();
        beginTransaction();
        
        Email email = new Email("Test Email");
        Message message = new Message("Test Message");
        //email.setMessage(message);
        message.setEmail(email);
        
        save(email,message);
        
        System.out.println("Stored...");        
        System.out.println(email);
        System.out.println(email.getMessage());
        System.out.println(message);
        System.out.println(message.getEmail());
        
        Serializable emailPrimaryKey = session.getIdentifier(email);
        Serializable messagePrimaryKey = session.getIdentifier(message);
        endTransaction();
        
        closeSession();
        openSession();

        beginTransaction();
        
        email = (Email)session.get(Email.class,emailPrimaryKey);
        message = (Message)session.get(Message.class,messagePrimaryKey);

        System.out.println("Retrieved...");
        System.out.println(email);
        System.out.println(email.getMessage());
        System.out.println(message);
        System.out.println(message.getEmail());        
        endTransaction();
        closeSession();
    }
    
    public static void beginTransaction() {
        session.beginTransaction();
    }
    
    public static void endTransaction() {
        session.getTransaction().commit();
    }
    
    public static void openSession() {
        session = factory.openSession();
    }
    
    public static void closeSession() {
        session.close();
    }
    
    public static void save(Object... objects) {
        for(Object obj : objects ) {
            session.saveOrUpdate(obj);
        }
    }
    
    public static void refreshFromHibernate(Object... objects) {
        for(Object obj : objects ) {
            session.refresh(obj);
        }
    }
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -