244 APPENDIX A n MORE ADVANCED FEATURES APPENDIX (Web site templates)
244 APPENDIX A n MORE ADVANCED FEATURES APPENDIX A n MORE ADVANCED FEATURES Listing A-11. Accessing a Hibernate Session in Map Mode package sample.map; import java.util.*; import org.hibernate.EntityMode; import org.hibernate.*; import org.hibernate.cfg.Configuration; public class AccessAsMap { private static final SessionFactory sessionFactory = new Configuration() .configure().buildSessionFactory(); public static void main(String[] args) throws Exception { System.out.println(”Preparing the Session objects”); Session session = sessionFactory.openSession(); Session mapSession = session.getSession(EntityMode.MAP); System.out.println(”Reading the map entries for XXX”); session.beginTransaction(); Map entity = (Map)mapSession.get(”sample.entity.Category”,new Long(2)); System.out.println(”Category Title: ” + entity.get(”title”)); System.out.println(”Contains Adverts:”); Set adverts = (Set)entity.get(”adverts”); Iterator adIt = adverts.iterator(); while(adIt.hasNext()) { Map advert = (Map)adIt.next(); System.out.println(advert.get(”title”)); } session.getTransaction().commit(); session.close(); System.out.println(”Done.”); } } This mode works much the same as the Dom4J mode changes written to the Map objects will be persisted exactly as if a normal persistent POJO object had been updated. Note that only the entities themselves will be represented as Maps not any of their attributes having a value type, or associations using Collection types. For example, in Listing A-11, the Category entity is represented as a Map, but its title attribute is represented as a String and its adverts attribute is represented as a Set however, the Setitself contains Advertentities represented as Maps.
If you are in need for chaep and reliable webhost to host your website, our recommendation is http web server services.