[
トップ|
一覧|
単語検索|
最終更新|
バックアップ|
ヘルプ]
- 追加された行はこの色です。
- 削除された行はこの色です。
*NEWS
-- Bug
--- [HHH-516] - Interceptor.onFlushDirty() sometimes not called
--- [HHH-517] - getDatabaseMajorVersion() not available in JDK 1.3
--- [HHH-518] - SQL parser does not recognize all whitespace
--- [HHH-519] - broken SQL when traversing many-to-many to joined <subselect>
--- [HHH-529] - Bug in merge()
-- New Feature
--- added <natural-id> mapping
--- [HHH-533] - allow unique-key on <property> and <many-to-one>
--- [HHH-534] - efficient cache by natural key
--- support for <comment> on MySQL
-- Improvement
--- [HHH-526] - log "Aggressively releasing JDBC Connection" as DEBUG instead of INFO
--- various logging improvements
-- Bug
--- [HHH-452] - UnsavedValueFactory.instantiate does not wrap the Exception it catches
--- [HHH-456] - Session still holds references to entities after close()
--- [HHH-457] - Log info for structured second-level cache entries is incorrect
--- [HHH-466] - Made default for MS SQL dialect definition more flexible
--- [HHH-473] - Formula can't contain SQL cast keyword
--- [HHH-484] - Order-by not applied to collections fetched by OuterJoinLoader
--fixed bug in HQL for composite key classes which have a property named the same as the owning entity's id property
--replaced 'connection.aggressive_release' with 'hibernate.connection.release_mode'
--added ConnectionReleaseMode
--added eager fetch for any associations with fetch=join, even after a HQL query, or cache retrieval (EJB3)
--added replicate() isUpdate flag to OnReplicateVisitor, useful for native ids
--fixed ParameterizedTypes order of initialization
--fixed bug in DB2Dialect
--fixed EntityMode.DOM4J creation of duplicate <set> output
--fixed JDBCException error code handling
--fixed Criteria Restrictions.isEmpty()/isNotEmpty() when collection is mapped to superclass
--fixed HQL indexed collections access with no alias
--fixed HQL aggregate functions on components when "id" property is used
--fixed issue with non-cascading refresh to collections
--fixed query-timeout not being applied to bulk HQL (Stephan Fudeus)
--fixed pessimistic locking with Firebird (Yuichi Sugimura)
--updated Ant 1.6.3
--improved validation of sql queries, throw QueryException if addEntity() nor addScalar() was called
--added automatic dialect detection if no dialect is configured
--added new tutorial (Michael Gloegl, Christian Bauer)
--fixed auto-close/auto-flush during getCurrentSession() processing
--fixed ClassCastException with EntityMode.DOM4J
--fixed HQL dynamic instantiation with iterate()
--fixed HQL bug with missing parantheses and implicit joins
--fixed bug were Interceptor.getEntity() wasn't called if in cache
--fixed bug in merge() of sorted sets
--fixed bug in EntityMode.DOM4J with non-lazy embedded many-to-ones
--fixed Criteria/Projection ordering bug
--fixed HQL referencing component attribute
--fixed column duplication detection for components
--fixed eager fetching for many-to-many associations
--fixed stack overflow with auto_close_session and aggressive_release and unclosed ScrollableResults/HibernateIterator
--fixed bug in HQL parser regarding naked property refs which reference component properties
--fixed bug with eager fetched arrays not being loaded
--fixed bug in filter against joined-subclass
--improved CacheMode.GET/IGNORE, disabled cache put
--improved HQL support for standard SQL functions, including coalesce() and nullif()
--improved filtering of many-to-many associations
--added HQL support for cast(x as type) if SQL database supports it
--added increment id generation for union-subclass
--added ConnectionProvider.supportsAggressiveRelease() for managed environments
--added support for caching of queries if filter is enabled
--added PreparedStatement count to Statistics
--added transactional/nontransactional read()/get() to Cache API
--added quotation of schema names
--added Distinct to Projection API
--added config parameter 'connection.aggressive_release'
--added HQL tuple constructor/comparison feature
--added HQL "fetch all properties" override if instrumentation is used for lazy loading
--added HQL projection feature, return Lists instead of arrays for projection
--added HQL projection feature, return Maps with user-defined HQL SELECT aliases as keys
--added HQL support for expressions in aggregation functions
--added new IntegrityViolationException to MySQL dialect
--added value mapping type 'big_integer'
--added not-found="ignore|exception" switch for legacy associations (i.e. broken database integrity)
--added fully automatic Session scoping in JTA environments with sf.getCurrentSession()
--fixed bug in DTD that wouldn't allow union-subclass in separate file
--fixed a MS SQL Server case sensitivity issue with native SQL queries
--fixed a minor bug in subselect fetching
--fixed case sensitivity in HQL functions
--fixed a bug with listener assignment for save() operation (Matthew Inger)
--fixed return-property in named SQL queries to work with all identifier names
--fixed TransactionManager lookup (again) for WAS 6.0
--fixed a bug with HQL batch delete and MS SQL Server
--fixed session not getting closed with auto_close when rollback occured
--improved concatentation handling in AST parser
--updated dom4j to avoid memory leak in old version
--updated C3P0
--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)
--- [HHH-487] - Possible empty union in UnionSubclassEntityPersister
--- [HHH-505] - Possible NullPointerException in BigIntegerType
--- [HHH-507] - Cached List does not show additions
--- Fixed bugs in subselect fetching
-- New Feature
--- [HHH-455] - Obtain non-intercepted Session by passing an EmptyInterceptor
--- [HHH-467] - HQL: support for case when then else end IN select clause
--- [HHH-485] - Support multiple collection join fetches (attention: Cartesian product) in native SQL queries
--- Added SessionStatistics metric interface
--- Added support for table and column level <comment> blocks
--- Added Simplified Chinese translation of reference documentation (Xiaogang Cao)
-- Improvement
--- Any query may now join fetch >1 collection role (attention: Cartesian product)
--- [HHH-454] - Add 2292 integrityViolationCode to Oracle9Dialect
--- [HHH-503] - Implemented ViolatedConstraintNameExtracter for HSQLDialect (Frank Grimes)
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)
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.034 sec.