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

📄 businessservice.java

📁 Hibernate的精典实例
💻 JAVA
字号:
package hibernate.demo.ManyToMany;

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;
import java.util.*;

public class BusinessService {
	public static SessionFactory sessionFactory;
	static {
		try {

			Configuration config = new Configuration();
			config.addClass(Category.class).addClass(Item.class);

			sessionFactory = config.buildSessionFactory();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void saveCategory(Category category) throws Exception {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			session.saveOrUpdate(category);
			tx.commit();

		} catch (Exception e) {
			e.printStackTrace();
			if (tx != null) {
				tx.rollback();
			}
			throw e;
		} finally {
			session.close();
		}
	}

	public Category loadCategory(Long id) throws Exception {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			Category category = (Category) session.load(Category.class, id);
			Hibernate.initialize(category.getItems());
			tx.commit();
			return category;

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
			throw e;
		} finally {

			session.close();
		}
	}

	public void printCategory(Category category) throws Exception {
		Set items = category.getItems();
		Iterator it = items.iterator();
		while (it.hasNext()) {
			Item item = (Item) it.next();
			System.out.println(category.getName() + " " + item.getName() + " "
					+ item.getBasePrice());
		}
	}

	public void test() throws Exception {

		Item item1 = new Item("NEC500", 1000);
		Item item2 = new Item("BELL4560", 1800);

		Category category1 = new Category();
		category1.setName("CellPhone");
		
		category1.getItems().add(item1);
		category1.getItems().add(item2);
		item1.getCategories().add(category1);
		item2.getCategories().add(category1);

		Category category2 = new Category();
		category2.setName("NECSeries");
		category2.getItems().add(item1);
		item1.getCategories().add(category2);

		saveCategory(category1);
		System.out.println("vvvvvvvvvvvv");
		saveCategory(category2);
	}

	public static void main(String args[]) throws Exception {
		new BusinessService().test();
		sessionFactory.close();
	}
}

⌨️ 快捷键说明

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