📄 example03.java
字号:
import contacts.ContactInfo;import contacts.Folder;import net.sf.hibernate.Hibernate;import net.sf.hibernate.Session;import net.sf.hibernate.SessionFactory;import net.sf.hibernate.cfg.Configuration;import net.sf.hibernate.tool.hbm2ddl.SchemaUpdate;import java.util.List;public class Example03 { public static void main(String[] args) throws Exception { // load configuration Configuration config = new Configuration(); config.configure(); // update database schema if required new SchemaUpdate(config).execute(true); // open a session SessionFactory sessionFactory = config.buildSessionFactory(); Session session = sessionFactory.openSession(); Folder myFolder = new Folder(); myFolder.setFolderName("My Folder"); Folder friendsFolder = new Folder(); friendsFolder.setFolderName("Friends"); myFolder.addFolder(friendsFolder); ContactInfo contact = new ContactInfo(); contact.setFirstName("Bart"); contact.setLastName("Simpson"); friendsFolder.addContact(contact); System.out.println("add a folder with nested folders and contacts to database..."); try { session.saveOrUpdate(myFolder); session.flush(); session.connection().commit(); } catch(Exception e) { session.connection().rollback(); } System.out.println("find how many folders with the name of Friends are in database..."); try { String folderName = "Friends"; List contacts = session.find( "select count( elements(folder.contacts) ) from contacts.Folder folder where folder.folderName=?", folderName, Hibernate.STRING); session.flush(); session.connection().commit(); int count = ((Integer)contacts.get(0)).intValue(); System.out.println("count:" + count); } catch (Exception e) { e.printStackTrace(); session.connection().rollback(); } System.out.println("find all folder that Bart is a member of in database..."); try { String firstName = "Bart"; List folders = session.find( "select folder from contacts.Folder folder join folder.contacts contact where contact.firstName=?", firstName, Hibernate.STRING); session.flush(); session.connection().commit(); for (int i = 0; i < folders.size(); i++) { Folder folder = (Folder) folders.get(i); System.out.println("folder:" + folder); } } catch (Exception e) { e.printStackTrace(); session.connection().rollback(); } // close the session session.close(); sessionFactory.close(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -