JAVA開発メモ
Hibernate のバックアップ差分(No.4)
 

[トップ|一覧|単語検索|最終更新|バックアップ|ヘルプ]





  
  *NEWS

  --package rename net.sf.hibernate -> org.hibernate
  --checked exceptions are now runtime exceptions
  --some session methods deprecated and moved to org.hibernate.classic.Session
  --removed various deprecated functionality
  --added Filter API and mappings, for temporal, regional and permissioned data (Steve Ebersole, Gavin King)
  --support cascade delete via ON DELETE CASCADE constraint
  --added extra attributes to named query definition
  --added hibernate.use_identifier_rollback
  --added subselect mappings

  --fixed erroneous association access when calling saveOrUpdateCopy() (David Wright)
  --fixed JCA handling of the JDBC connection (Attila Lendvai)
  --fixed ordering of selected columns in fetching code (for Oracle)
  --fixed a bug in Criteria.setLockMode()
  --fixed a minor bug where refresh() caused a CGLIB exception if a proxy interface was enabled (George Svarovsky)
  --fixed a minor bug where Interceptor.onLoad() received empty collections after cache lookups (Mark Rohan)
  --fixed a null pointer when setting null parameters without a type
  --fixed result pagination (setFirst/MaxResult) on Oracle 8.1.x (Aeros Lau)
  --fixed generation of LONG/RAW columns on Oracle9 (Brett Lawrence)
  --fixed a minor issue with SchemaExport on latest MySQL versions (Koen Janssens)
  --fixed a minor bug in Ingres dialect (Brad Beck)
  --fixed DBCP configuration property parsing to avoid NullPointerException (Henning Schmiedehausen)
  --fixed subclassing of CollectionPersister (Kelley Stover)
  --fixed automatic ID generation for collection-id generators (Thompson Marzagao)
  --fixed JBoss deployment issues by moving JBoss hibernate-service.xml to etc/ directory
  --fixed documentation example of HibernateUtil class (Christian Bauer)
  --improved serialization of object graphs with javax.beans.XMLEncoder (Alexander Thomas)
  --improved configuration loading for Proxool (use "file:" or classloader resource loading), see HB-1048 (Aleksei Gopachenko)
  --improved QueryCache interface, now pluggable via hibernate.cache.query_cache_factory (Steve Ebersole)
  --improved scroll() query method, now the entire entity is populated from the initial result set (Steve Ebersole)
  --improved XML serialization/deserialization for binary and timestamp types (Stefano Travelli)
  --added support for enabling batching of versioned data (configurable)
  --added cache region property to JMX MBean interface (Arnaud Barbe)
  --added 'distinct' as allowed keyword in metadata declared SQL
  --added setForceCacheRefresh() on Query for fine-grained eviction without individual cache regions (Shamir Karkal)
  --added support for sequences on Informix
  --added support for identity columns on DB2/400 (Andre Oosthuizen)
  --added EhCache provider to Hibernate distribution, use net.sf.hibernate.cache.EhCacheProvider (Emmanuel Bernard)
  --added TransactionManagerLookup for Borland Enterprise Server (Etienne Hardy)
  --added support for index attribute on <property/>, <many-to-one/>, and <any/> elements
  --updated EHCache to version 0.9
  --updated commons libraries with compatibility for commons-collections 3.0
  --updated to JBossCache 1.02 and JGroups 2.2.3, didn't test SwarmCache
  --added lazy="true" to property mappings
  --added <join/> for multitable mappings
  --added <union-subclass/> for table-per-concrete-class strategy
  --added Statistics API and JMX MBean (Gavin King, Emmanuel Bernard)
  --introduced new event-driven design (Steve Ebersole)
  --support for faster startup with Configuration.addCachableFile() (Max Andersen)
  --mask connection password for log level greater of equals to info (Joris Verschoor, Emmanuel Bernard)
  --add check of named queries when building SessionFactory (Joris Verschoor, Emmanuel Bernard)
  --added custom EntityResolver setting capability (Emmanuel Ligne, Emmanuel Bernard)
  --PropertyValueException for null values in not-null properties of components (Emmanuel Bernard)
  --enhanced support for single- and no-argument sql-functions in HQL select clause (Michael Gloegl)
  --Added catalog element, to enable table names like catalog.schema.table (Michael Gloegl)
  --Added <sql-insert>, <sql-update> and <sql-delete> support (Max Andersen)
  --Support callable statements (stored procedures/functions) via callable="true" on custom sql (Max Andersen)
  --Added support for type parameters and typedefs (Michael Gloegl)
  --Added support for JDBC escape sequences in createSQLQuery (Max Andersen)
  --Added statistics per SessionFactory (Gavin King, Emmanuel Bernard)
  --Added a StatisticsService MBean for JMX publucation (Emmanuel Bernard)
  --support for updates via rownum in Oracle
  --fixed problems with SchemaUpdate
  --support for <column formula="..."/>
  --added hibernate.use_sql_comments
  --added property-ref to collection <key/>
  --fixed performance problems with <one-to-one property-ref=.../>
  --enhanced UserType with new methods assemble()/disassemble()
  --better algorithm for batch fetch batch sizes
  --added <dynamic-class>
  --added entity-name concept, and session methods save(entityName, object), update(entityName, object), etc
  --added framework in proxy package
  --native SQL queries may now fetch a collection role
  --added <loader/> for class and collection mappings
  --added getEntity() and getEntityName() to Interceptor
  --formula-based discriminators and association mappings
  --added "guid" id generation strategy
  --various improvements to dialects
  --<discriminator force="true"/> now acts as a filter on collections
  --where filters now apply in the on clause in an outer join
  

  --fixed Quickstart/readme.txt instructions
  --fixed DB2/400 identity column support
  --fixed the scroll() query method
  --fixed exotic classloader problems with CGLIB
  --added insert="false" for discriminator columns which are part of a composite identifier
  --added several new configuration settings to JMX HibernateService
  --added new instantiate() method to SessionFactory.getClassMetadata()
  --improved the HSQL DB dialect with features from new version
  







  

  DB2,FrontBase,HSQLDB,informix,interbase,MS SQL server,MySQL, Oracle,Pointbase,PostgreSQL,Sybase etc.
  




  



  -[[Working with Hibernate in Eclipse:http://www.onjava.com/pub/a/onjava/2004/06/23/hibernate.html]]
  






  

   package test;
   import java.util.List;
   import java.util.Properties;
   import net.sf.hibernate.Hibernate;
   import net.sf.hibernate.HibernateException;
   import net.sf.hibernate.Session;
   import net.sf.hibernate.Transaction;
   import net.sf.hibernate.cfg.Configuration;
   import net.sf.hibernate.expression.Expression;
  
   public class SampleMain {
  
       public static void main(String[] args) {
           Configuration cfg = null;
           Session session = null;
           Transaction transaction = null;
           Properties props = new Properties();
  
           try {
               cfg = new Configuration().addClass(Person.class).addProperties(props);
               session = cfg.buildSessionFactory().openSession();
               //session.setFlushMode(FlushMode.COMMIT);
               transaction = session.beginTransaction();
  
               Person person = new Person();

  

               Long id = (Long) session.save(person);
  

               Person load = (Person) session.load(Person.class, id);
               System.out.println(load);
  


               session.update(person);
  
  

               List list = session.find("from Person where id=?", id, Hibernate.LONG);
               System.out.println(list);

               List list2 =
                   session.createCriteria(Person.class).add(Expression.eq("id", id)).list();
               System.out.println(list2);
  

               session.delete(person);
  

               list = session.find("from Person");
               System.out.println(list);
  

               transaction.commit();
  
           } catch (Exception e) {
               try {
                   if (transaction != null)
                       transaction.rollback();
               } catch (Exception e1) {
                   e1.printStackTrace();
               }
               e.printStackTrace();
           } finally {
               try {
                   if (session != null && session.isOpen())
                       session.close();
               } catch (HibernateException e1) {
                   e1.printStackTrace();
               }
           }
  
       }
   }

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
   <hibernate-mapping>
     <class name="test.Person" table="PERSON">
       <id name="id" column="ID" type="long">
         <generator class="native"/>
       </id>
       <property name="name" column="NAME" type="string" length="20" not-null="true"/>
     </class>
   </hibernate-mapping>
  



   Person load = (Person) session.load(Person.class, id, LockMode.UPGRADE);
  
   List list2 = session.createCriteria(Person.class)
                       .add(Expression.eq("id", id))
                       .setLockMode(LockMode.UPGRADE)
                       .list();
  

トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 7.4.33

HTML convert time to 0.053 sec.