[
トップ|
一覧|
単語検索|
最終更新|
バックアップ|
ヘルプ]
- 追加された行はこの色です。
- 削除された行はこの色です。
*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
--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();
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.028 sec.