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

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





  
  *NEWS

  --Major rework of Criteria queries, support for projection, grouping, aggregation, ordering by any attribute
  --various improvements to new HQL parser (Joshua Davis)
  --fixed a bug where <join fetch="select"> was broken for subclasses with duplicated property names

  --added EnhancedUserType, UserCollectionType, UserVersionType
  --added CacheMode
  --fixed minor performance problem where cascade delete could add objects to second-level cache
  --added hibernate.default_batch_fetch_size
  --added hibernate.cache.use_structured_entries
  --different classes and collection roles may now share a cache region
  --don't include discriminators for abstract classes in generated SQL
  --it is no longer truly necessary for composite identifier classes to implement equals()/hashCode() (but still recommended)
  --workaround for bug in MySQL InnoDB with self-referential foreign keys
  --added lazy="true" to many-to-one and one-to-one mappings (requires bytecode instrumentation)
  --introduced EntityModes, and XML mapping preview
  --several minor dialect improvements
  --fixed a problem where filters were not applied to subclasses
  --fixed a problem where InstrumentTask would fail if applied to already-instrumented classes
  --fixed many problems with new parser and made it the default (thanks again to Joshua for the new parser)
  --implemented bulk update/delete queries for the new parser
  --fixed a minor bug in the classic query parser
  --renamed create() to persist() as per EJB3edr2
  

  --fixed a bad bug in saveOrUpdateCopy() that caused NonUniqueObjectExceptions
  --fixed problems with long types in Oracle DDL generation
  --fixed a memory management problem when deleting collections
  --schema export now uses hibernate.default_schema (Michael Gloegl)
  --fixed broken query cache invalidation from 2.1.7
  --fixed a problem with schema update on some databases
  --support MySQL rlike operator in HQL
  --fixed a minor problem with Hibernate Clobs and Blobs
  --added support for WebSphere's weird TxManagerLookup
  --Add LockAcquisitionErrorCodes to MySQL dialect (Jesse Barnum, Emmanuel Bernard)
  







  

  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();
  
  ~
  #amazonkey2(JAVA DB)
  

トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新の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.29

HTML convert time to 0.049 sec.