📄 businessservice.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 + -