Hibernate SVN: r17331 - in core/branches/INFINISPAN/cache-infinispan/src: main/java/org/hibernate/cache/infinispan/access and 6 other directories.
by hibernate-commits@lists.jboss.org
Author: galder.zamarreno(a)jboss.com
Date: 2009-08-17 03:46:18 -0400 (Mon, 17 Aug 2009)
New Revision: 17331
Added:
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/access/
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/access/TransactionalAccessDelegate.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.hbm.xml
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.hbm.xml
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/bulk/
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/bulk/BulkOperationsTestCase.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/query/
Removed:
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.hbm.xml
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Customer.java
Modified:
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/InfinispanCollectionRegion.java
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/ReadOnlyAccess.java
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/TransactionalAccess.java
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/InfinispanEntityRegion.java
core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/TransactionalAccess.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Item.hbm.xml
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/AbstractDualNodeTestCase.java
core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java
Log:
[ISPN-6] Added bulk operation test case and modelled cache access implementations like the ones in the JBC2 integration layer.
Added: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/access/TransactionalAccessDelegate.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/access/TransactionalAccessDelegate.java (rev 0)
+++ core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/access/TransactionalAccessDelegate.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -0,0 +1,115 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2007, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.cache.infinispan.access;
+
+import org.hibernate.cache.CacheException;
+import org.hibernate.cache.access.CollectionRegionAccessStrategy;
+import org.hibernate.cache.access.EntityRegionAccessStrategy;
+import org.hibernate.cache.access.SoftLock;
+import org.infinispan.Cache;
+
+/**
+ * Defines the strategy for transactional access to entity or collection data in a Infinispan instance.
+ * <p>
+ * The intent of this class is to encapsulate common code and serve as a delegate for
+ * {@link EntityRegionAccessStrategy} and {@link CollectionRegionAccessStrategy} implementations.
+ *
+ * @author Brian Stansberry
+ * @author Galder Zamarreño
+ */
+public class TransactionalAccessDelegate {
+
+ protected final Cache cache;
+
+ public TransactionalAccessDelegate(Cache cache) {
+ this.cache = cache;
+ }
+
+ public Object get(Object key, long txTimestamp) throws CacheException {
+ return cache.get(key);
+ }
+
+ public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException {
+ cache.putForExternalRead(key, value);
+ return true;
+ }
+
+ public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride)
+ throws CacheException {
+ return putFromLoad(key, value, txTimestamp, version);
+ }
+
+ public SoftLock lockItem(Object key, Object version) throws CacheException {
+ return null;
+ }
+
+ public SoftLock lockRegion() throws CacheException {
+ return null;
+ }
+
+ public void unlockItem(Object key, SoftLock lock) throws CacheException {
+ }
+
+ public void unlockRegion(SoftLock lock) throws CacheException {
+ }
+
+ public boolean insert(Object key, Object value, Object version) throws CacheException {
+ cache.put(key, value);
+ return true;
+ }
+
+ public boolean afterInsert(Object key, Object value, Object version) throws CacheException {
+ return false;
+ }
+
+ public boolean update(Object key, Object value, Object currentVersion, Object previousVersion) throws CacheException {
+ cache.put(key, value);
+ return true;
+ }
+
+ public boolean afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock)
+ throws CacheException {
+ return false;
+ }
+
+ public void remove(Object key) throws CacheException {
+ cache.remove(key);
+ }
+
+ public void removeAll() throws CacheException {
+ cache.clear();
+ }
+
+ public void evict(Object key) throws CacheException {
+ cache.evict(key);
+ }
+
+ public void evictAll() throws CacheException {
+ evictOrRemoveAll();
+ }
+
+ private void evictOrRemoveAll() throws CacheException {
+ cache.clear();
+ }
+}
Property changes on: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/access/TransactionalAccessDelegate.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/InfinispanCollectionRegion.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/InfinispanCollectionRegion.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/InfinispanCollectionRegion.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -10,6 +10,7 @@
/**
* @author Chris Bredesen
+ * @author Galder Zamarreño
*/
public class InfinispanCollectionRegion extends BaseTransactionalDataRegion implements CollectionRegion {
@@ -23,7 +24,7 @@
} else if (AccessType.TRANSACTIONAL.equals(accessType)) {
return new TransactionalAccess(this);
}
- throw new CacheException("unsupported access type [" + accessType.getName() + "]");
+ throw new CacheException("Unsupported access type [" + accessType.getName() + "]");
}
}
Modified: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/ReadOnlyAccess.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/ReadOnlyAccess.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/ReadOnlyAccess.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -1,77 +1,37 @@
package org.hibernate.cache.infinispan.collection;
import org.hibernate.cache.CacheException;
-import org.hibernate.cache.CollectionRegion;
-import org.hibernate.cache.access.CollectionRegionAccessStrategy;
import org.hibernate.cache.access.SoftLock;
/**
+ * This defines the strategy for transactional access to collection data in a
+ * Infinispan instance.
+ * <p/>
+ * The read-only access to a Infinispan really is still transactional, just with
+ * the extra semantic or guarantee that we will not update data.
+ *
* @author Chris Bredesen
+ * @author Galder Zamarreño
*/
-public class ReadOnlyAccess implements CollectionRegionAccessStrategy {
- private final InfinispanCollectionRegion region;
+class ReadOnlyAccess extends TransactionalAccess {
- public ReadOnlyAccess(InfinispanCollectionRegion region) {
- this.region = region;
+ ReadOnlyAccess(InfinispanCollectionRegion region) {
+ super(region);
}
-
- public void evict(Object key) throws CacheException {
- region.getCache().evict(key);
- }
-
- public void evictAll() throws CacheException {
- // TODO ensure proper clustering semantics here
- region.getCache().clear();
- }
-
- public Object get(Object key, long txTimestamp) throws CacheException {
- // TODO Auto-generated method stub
- return null;
- }
-
- public CollectionRegion getRegion() {
- return region;
- }
-
public SoftLock lockItem(Object key, Object version) throws CacheException {
- // TODO Auto-generated method stub
return null;
}
public SoftLock lockRegion() throws CacheException {
- // TODO Auto-generated method stub
- return null;
+ throw new UnsupportedOperationException("Illegal attempt to edit read only region");
}
- public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException {
- // TODO Auto-generated method stub
- return false;
- }
-
- public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride)
- throws CacheException {
- // TODO Auto-generated method stub
- return false;
- }
-
- public void remove(Object key) throws CacheException {
- // TODO Auto-generated method stub
-
- }
-
- public void removeAll() throws CacheException {
- // TODO Auto-generated method stub
-
- }
-
public void unlockItem(Object key, SoftLock lock) throws CacheException {
- // TODO Auto-generated method stub
-
+ // no-op
}
public void unlockRegion(SoftLock lock) throws CacheException {
- // TODO Auto-generated method stub
-
+ throw new UnsupportedOperationException("Illegal attempt to edit read only region");
}
}
Modified: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/TransactionalAccess.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/TransactionalAccess.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/collection/TransactionalAccess.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -4,57 +4,57 @@
import org.hibernate.cache.CollectionRegion;
import org.hibernate.cache.access.CollectionRegionAccessStrategy;
import org.hibernate.cache.access.SoftLock;
+import org.hibernate.cache.infinispan.access.TransactionalAccessDelegate;
/**
* Transactional collection region access for Infinispan.
*
* @author Chris Bredesen
+ * @author Galder Zamarreño
*/
-public class TransactionalAccess implements CollectionRegionAccessStrategy {
+class TransactionalAccess implements CollectionRegionAccessStrategy {
+
private final InfinispanCollectionRegion region;
+
+ private final TransactionalAccessDelegate delegate;
- public TransactionalAccess(InfinispanCollectionRegion region) {
+ TransactionalAccess(InfinispanCollectionRegion region) {
this.region = region;
+ this.delegate = new TransactionalAccessDelegate(region.getCache());
}
public void evict(Object key) throws CacheException {
- region.getCache().evict(key);
+ delegate.evict(key);
}
public void evictAll() throws CacheException {
- // TODO ensure proper clustering semantics
- region.getCache().clear();
+ delegate.evictAll();
}
public Object get(Object key, long txTimestamp) throws CacheException {
- return region.getCache().get(key);
+ return delegate.get(key, txTimestamp);
}
public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException {
- region.getCache().putForExternalRead(key, value);
- return true;
+ return delegate.putFromLoad(key, value, txTimestamp, version);
}
- public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride)
- throws CacheException {
- region.getCache().putForExternalRead(key, value);
- return true;
+ public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride) throws CacheException {
+ return delegate.putFromLoad(key, value, txTimestamp, version, minimalPutOverride);
}
public void remove(Object key) throws CacheException {
- region.getCache().remove(key);
+ delegate.remove(key);
}
public void removeAll() throws CacheException {
- region.getCache().clear();
+ delegate.removeAll();
}
public CollectionRegion getRegion() {
return region;
}
- // following methods copied from o.h.c.jbc2.collection.TransactionalAccess
-
public SoftLock lockItem(Object key, Object version) throws CacheException {
return null;
}
Modified: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/InfinispanEntityRegion.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/InfinispanEntityRegion.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/InfinispanEntityRegion.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -8,6 +8,10 @@
import org.hibernate.cache.infinispan.impl.BaseTransactionalDataRegion;
import org.infinispan.Cache;
+/**
+ * @author Chris Bredesen
+ * @author Galder Zamarreño
+ */
public class InfinispanEntityRegion extends BaseTransactionalDataRegion implements EntityRegion {
public InfinispanEntityRegion(Cache<Object, Object> cache, String name, CacheDataDescription metadata) {
@@ -20,7 +24,7 @@
} else if (AccessType.TRANSACTIONAL.equals(accessType)) {
return new TransactionalAccess(this);
}
- throw new CacheException("unsupported access type [" + accessType.getName() + "]");
+ throw new CacheException("Unsupported access type [" + accessType.getName() + "]");
}
}
\ No newline at end of file
Modified: core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/TransactionalAccess.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/TransactionalAccess.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/entity/TransactionalAccess.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -4,32 +4,35 @@
import org.hibernate.cache.EntityRegion;
import org.hibernate.cache.access.EntityRegionAccessStrategy;
import org.hibernate.cache.access.SoftLock;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.hibernate.cache.infinispan.access.TransactionalAccessDelegate;
/**
* Transactional entity region access for Infinispan.
*
* @author Chris Bredesen
+ * @author Galder Zamarreño
*/
class TransactionalAccess implements EntityRegionAccessStrategy {
- private static final Logger log = LoggerFactory.getLogger(TransactionalAccess.class);
+
private final InfinispanEntityRegion region;
+
+ private final TransactionalAccessDelegate delegate;
TransactionalAccess(InfinispanEntityRegion region) {
this.region = region;
+ this.delegate = new TransactionalAccessDelegate(region.getCache());
}
public void evict(Object key) throws CacheException {
- region.getCache().evict(key);
+ delegate.evict(key);
}
public void evictAll() throws CacheException {
- region.getCache().clear();
+ delegate.evictAll();
}
public Object get(Object key, long txTimestamp) throws CacheException {
- return region.getCache().get(key);
+ return delegate.get(key, txTimestamp);
}
public EntityRegion getRegion() {
@@ -42,31 +45,25 @@
}
public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException {
- region.getCache().putForExternalRead(key, value);
- return true;
+ return delegate.putFromLoad(key, value, txTimestamp, version);
}
- public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride)
- throws CacheException {
- region.getCache().putForExternalRead(key, value);
- return true;
+ public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride) throws CacheException {
+ return delegate.putFromLoad(key, value, txTimestamp, version, minimalPutOverride);
}
public void remove(Object key) throws CacheException {
- region.getCache().remove(key);
+ delegate.remove(key);
}
public void removeAll() throws CacheException {
- region.getCache().clear(); // TODO is this right?
+ delegate.removeAll();
}
public boolean update(Object key, Object value, Object currentVersion, Object previousVersion) throws CacheException {
- region.getCache().put(key, value);
- return true; // JBC2 provider does this...
+ return delegate.update(key, value, currentVersion, previousVersion);
}
- // all remaining methods copied from the o.h.c.jbc2.entity.TransactionalAccess
-
public SoftLock lockItem(Object key, Object version) throws CacheException {
return null;
}
@@ -85,8 +82,7 @@
return false;
}
- public boolean afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock)
- throws CacheException {
+ public boolean afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock) throws CacheException {
return false;
}
}
\ No newline at end of file
Copied: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.hbm.xml (from rev 17244, core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.hbm.xml)
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.hbm.xml (rev 0)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.hbm.xml 2009-08-17 07:46:18 UTC (rev 17331)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+ <!--
+ ~ Hibernate, Relational Persistence for Idiomatic Java ~ ~
+ Copyright (c) 2007, Red Hat Middleware LLC or third-party
+ contributors as ~ indicated by the @author tags or express
+ copyright attribution ~ statements applied by the authors. All
+ third-party contributions are ~ distributed under license by Red
+ Hat Middleware LLC. ~ ~ This copyrighted material is made
+ available to anyone wishing to use, modify, ~ copy, or
+ redistribute it subject to the terms and conditions of the GNU ~
+ Lesser General Public License, as published by the Free Software
+ Foundation. ~ ~ This program is distributed in the hope that it
+ will be useful, ~ but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY ~ or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU Lesser General Public License ~ for more
+ details. ~ ~ You should have received a copy of the GNU Lesser
+ General Public License ~ along with this distribution; if not,
+ write to: ~ Free Software Foundation, Inc. ~ 51 Franklin Street,
+ Fifth Floor ~ Boston, MA 02110-1301 USA
+ -->
+<hibernate-mapping
+ package="org.hibernate.test.cache.infinispan.functional">
+
+ <class name="Contact" table="Contacts">
+ <id name="id">
+ <generator class="increment" />
+ </id>
+ <property name="name" not-null="true" />
+ <property name="tlf" not-null="true" />
+ <many-to-one name="customer" column="cust_id" class="Customer" />
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Copied: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.java (from rev 17244, core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.java)
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.java (rev 0)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Contact.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -0,0 +1,90 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.test.cache.infinispan.functional;
+
+import java.io.Serializable;
+
+/**
+ * Entity that has a many-to-one relationship to a Customer
+ */
+public class Contact implements Serializable {
+ Integer id;
+ String name;
+ String tlf;
+ Customer customer;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getTlf() {
+ return tlf;
+ }
+
+ public void setTlf(String tlf) {
+ this.tlf = tlf;
+ }
+
+ public Customer getCustomer() {
+ return customer;
+ }
+
+ public void setCustomer(Customer customer) {
+ this.customer = customer;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) return true;
+ if (!(o instanceof Contact)) return false;
+ Contact c = (Contact) o;
+ return c.id.equals(id)
+ && c.name.equals(name)
+ && c.tlf.equals(tlf);
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 17;
+ result = 31 * result + (id == null ? 0 : id.hashCode());
+ result = 31 * result + name.hashCode();
+ result = 31 * result + tlf.hashCode();
+ return result;
+ }
+
+
+
+}
Added: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.hbm.xml
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.hbm.xml (rev 0)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.hbm.xml 2009-08-17 07:46:18 UTC (rev 17331)
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+ <!--
+ ~ Hibernate, Relational Persistence for Idiomatic Java ~ ~
+ Copyright (c) 2007, Red Hat Middleware LLC or third-party
+ contributors as ~ indicated by the @author tags or express
+ copyright attribution ~ statements applied by the authors. All
+ third-party contributions are ~ distributed under license by Red
+ Hat Middleware LLC. ~ ~ This copyrighted material is made
+ available to anyone wishing to use, modify, ~ copy, or
+ redistribute it subject to the terms and conditions of the GNU ~
+ Lesser General Public License, as published by the Free Software
+ Foundation. ~ ~ This program is distributed in the hope that it
+ will be useful, ~ but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY ~ or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU Lesser General Public License ~ for more
+ details. ~ ~ You should have received a copy of the GNU Lesser
+ General Public License ~ along with this distribution; if not,
+ write to: ~ Free Software Foundation, Inc. ~ 51 Franklin Street,
+ Fifth Floor ~ Boston, MA 02110-1301 USA
+ -->
+<hibernate-mapping
+ package="org.hibernate.test.cache.infinispan.functional">
+
+ <class name="Customer" table="Customers">
+ <id name="id">
+ <generator class="increment" />
+ </id>
+ <property name="name" not-null="true" />
+ <set name="contacts" inverse="true" cascade="save-update">
+ <key column="cust_id" />
+ <one-to-many class="Contact" />
+ </set>
+
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Copied: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.java (from rev 17244, core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Customer.java)
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.java (rev 0)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Customer.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -0,0 +1,67 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.test.cache.infinispan.functional;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * Company customer
+ *
+ * @author Emmanuel Bernard
+ * @author Kabir Khan
+ */
+public class Customer implements Serializable {
+ Integer id;
+ String name;
+
+ private transient Set<Contact> contacts;
+
+ public Customer() {
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String string) {
+ name = string;
+ }
+
+ public Set<Contact> getContacts() {
+ return contacts;
+ }
+
+ public void setContacts(Set<Contact> contacts) {
+ this.contacts = contacts;
+ }
+}
Modified: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Item.hbm.xml
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Item.hbm.xml 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/Item.hbm.xml 2009-08-17 07:46:18 UTC (rev 17331)
@@ -3,52 +3,47 @@
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<!--
- ~ Hibernate, Relational Persistence for Idiomatic Java
- ~
- ~ Copyright (c) 2007, Red Hat Middleware LLC or third-party contributors as
- ~ indicated by the @author tags or express copyright attribution
- ~ statements applied by the authors. All third-party contributions are
- ~ distributed under license by Red Hat Middleware LLC.
- ~
- ~ This copyrighted material is made available to anyone wishing to use, modify,
- ~ copy, or redistribute it subject to the terms and conditions of the GNU
- ~ Lesser General Public License, as published by the Free Software Foundation.
- ~
- ~ This program is distributed in the hope that it will be useful,
- ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- ~ for more details.
- ~
- ~ You should have received a copy of the GNU Lesser General Public License
- ~ along with this distribution; if not, write to:
- ~ Free Software Foundation, Inc.
- ~ 51 Franklin Street, Fifth Floor
- ~ Boston, MA 02110-1301 USA
- -->
-<hibernate-mapping
- package="org.hibernate.test.cache.infinispan.functional">
+ <!--
+ ~ Hibernate, Relational Persistence for Idiomatic Java ~ ~
+ Copyright (c) 2007, Red Hat Middleware LLC or third-party
+ contributors as ~ indicated by the @author tags or express
+ copyright attribution ~ statements applied by the authors. All
+ third-party contributions are ~ distributed under license by Red
+ Hat Middleware LLC. ~ ~ This copyrighted material is made
+ available to anyone wishing to use, modify, ~ copy, or
+ redistribute it subject to the terms and conditions of the GNU ~
+ Lesser General Public License, as published by the Free Software
+ Foundation. ~ ~ This program is distributed in the hope that it
+ will be useful, ~ but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY ~ or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU Lesser General Public License ~ for more
+ details. ~ ~ You should have received a copy of the GNU Lesser
+ General Public License ~ along with this distribution; if not,
+ write to: ~ Free Software Foundation, Inc. ~ 51 Franklin Street,
+ Fifth Floor ~ Boston, MA 02110-1301 USA
+ -->
+<hibernate-mapping package="org.hibernate.test.cache.infinispan.functional">
- <class name="Item" table="Items">
- <id name="id">
- <generator class="increment"/>
- </id>
- <property name="name" not-null="true"/>
- <property name="description" not-null="true"/>
- <many-to-one name="owner" column="owner_id" class="Item" />
- <set name="items" inverse="true">
- <key column="owner_id" />
- <one-to-many class="Item"/>
- </set>
- </class>
+ <class name="Item" table="Items">
+ <id name="id">
+ <generator class="increment" />
+ </id>
+ <property name="name" not-null="true" />
+ <property name="description" not-null="true" />
+ <many-to-one name="owner" column="owner_id" class="Item" />
+ <set name="items" inverse="true">
+ <key column="owner_id" />
+ <one-to-many class="Item" />
+ </set>
+ </class>
- <class name="VersionedItem" table="VersionedItems">
- <id name="id">
- <generator class="increment"/>
- </id>
- <version name="version" type="long"/>
- <property name="name" not-null="true"/>
- <property name="description" not-null="true"/>
- </class>
+ <class name="VersionedItem" table="VersionedItems">
+ <id name="id">
+ <generator class="increment" />
+ </id>
+ <version name="version" type="long" />
+ <property name="name" not-null="true" />
+ <property name="description" not-null="true" />
+ </class>
</hibernate-mapping>
\ No newline at end of file
Added: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/bulk/BulkOperationsTestCase.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/bulk/BulkOperationsTestCase.java (rev 0)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/bulk/BulkOperationsTestCase.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -0,0 +1,277 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.hibernate.test.cache.infinispan.functional.bulk;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.hibernate.FlushMode;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.cfg.Environment;
+import org.hibernate.classic.Session;
+import org.hibernate.junit.functional.FunctionalTestCase;
+import org.hibernate.test.cache.infinispan.functional.Contact;
+import org.hibernate.test.cache.infinispan.functional.Customer;
+import org.hibernate.test.tm.SimpleJtaTransactionManagerImpl;
+import org.hibernate.transaction.CMTTransactionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * BulkOperationsTestCase.
+ *
+ * @author Galder Zamarreño
+ * @since 4.0
+ */
+public class BulkOperationsTestCase extends FunctionalTestCase {
+
+ private static final Logger log = LoggerFactory.getLogger(BulkOperationsTestCase.class);
+
+ public BulkOperationsTestCase(String string) {
+ super(string);
+ }
+
+ public String[] getMappings() {
+ return new String[] { "cache/infinispan/functional/Contact.hbm.xml", "cache/infinispan/functional/Customer.hbm.xml" };
+ }
+
+ @Override
+ public String getCacheConcurrencyStrategy() {
+ return "transactional";
+ }
+
+ protected Class getTransactionFactoryClass() {
+ return CMTTransactionFactory.class;
+ }
+
+ protected Class getConnectionProviderClass() {
+ return org.hibernate.test.tm.ConnectionProviderImpl.class;
+ }
+
+ protected Class getTransactionManagerLookupClass() {
+ return org.hibernate.test.tm.TransactionManagerLookupImpl.class;
+ }
+
+ public void configure(Configuration cfg) {
+ super.configure(cfg);
+
+ cfg.setProperty(Environment.USE_SECOND_LEVEL_CACHE, "true");
+ cfg.setProperty(Environment.GENERATE_STATISTICS, "true");
+ cfg.setProperty(Environment.CONNECTION_PROVIDER, getConnectionProviderClass().getName());
+ cfg.setProperty(Environment.TRANSACTION_MANAGER_STRATEGY, getTransactionManagerLookupClass().getName());
+
+ Class transactionFactory = getTransactionFactoryClass();
+ cfg.setProperty( Environment.TRANSACTION_STRATEGY, transactionFactory.getName());
+ }
+
+ public void testBulkOperations() throws Exception {
+ System.out.println("*** testBulkOperations()");
+ try {
+ createContacts();
+
+ List<Integer> rhContacts = getContactsByCustomer("Red Hat");
+ assertNotNull("Red Hat contacts exist", rhContacts);
+ assertEquals("Created expected number of Red Hat contacts", 10, rhContacts.size());
+
+ assertEquals("Deleted all Red Hat contacts", 10, deleteContacts());
+
+ List<Integer> jbContacts = getContactsByCustomer("JBoss");
+ assertNotNull("JBoss contacts exist", jbContacts);
+ assertEquals("JBoss contacts remain", 10, jbContacts.size());
+
+ for (Integer id : rhContacts) {
+ assertNull("Red Hat contact " + id + " cannot be retrieved", getContact(id));
+ }
+ rhContacts = getContactsByCustomer("Red Hat");
+ if (rhContacts != null) {
+ assertEquals("No Red Hat contacts remain", 0, rhContacts.size());
+ }
+
+ updateContacts("Kabir", "Updated");
+ for (Integer id : jbContacts) {
+ Contact contact = getContact(id);
+ assertNotNull("JBoss contact " + id + " exists", contact);
+ String expected = ("Kabir".equals(contact.getName())) ? "Updated" : "2222";
+ assertEquals("JBoss contact " + id + " has correct TLF", expected, contact.getTlf());
+ }
+
+ List<Integer> updated = getContactsByTLF("Updated");
+ assertNotNull("Got updated contacts", updated);
+ assertEquals("Updated contacts", 5, updated.size());
+ } finally {
+ // cleanup the db so we can run this test multiple times w/o restarting the cluster
+ cleanup();
+ }
+ }
+
+ public void createContacts() throws Exception {
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+ for (int i = 0; i < 10; i++)
+ createCustomer(i);
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ } catch (Exception e) {
+ log.error("Unable to create customer", e);
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+ }
+
+ public int deleteContacts() throws Exception {
+ String deleteHQL = "delete Contact where customer in ";
+ deleteHQL += " (select customer FROM Customer as customer ";
+ deleteHQL += " where customer.name = :cName)";
+
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+
+ Session session = getSessions().getCurrentSession();
+ int rowsAffected = session.createQuery(deleteHQL).setFlushMode(FlushMode.AUTO)
+ .setParameter("cName", "Red Hat").executeUpdate();
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ return rowsAffected;
+ } catch (Exception e) {
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+ }
+
+ public List<Integer> getContactsByCustomer(String customerName) throws Exception {
+ String selectHQL = "select contact.id from Contact contact";
+ selectHQL += " where contact.customer.name = :cName";
+
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+
+ Session session = getSessions().getCurrentSession();
+ List results = session.createQuery(selectHQL).setFlushMode(FlushMode.AUTO).setParameter("cName", customerName)
+ .list();
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ return results;
+ } catch (Exception e) {
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+ }
+
+ public List<Integer> getContactsByTLF(String tlf) throws Exception {
+ String selectHQL = "select contact.id from Contact contact";
+ selectHQL += " where contact.tlf = :cTLF";
+
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+
+ Session session = getSessions().getCurrentSession();
+ List results = session.createQuery(selectHQL).setFlushMode(FlushMode.AUTO).setParameter("cTLF", tlf).list();
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ return results;
+ } catch (Exception e) {
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+ }
+
+ public int updateContacts(String name, String newTLF) throws Exception {
+ String updateHQL = "update Contact set tlf = :cNewTLF where name = :cName";
+
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+
+ Session session = getSessions().getCurrentSession();
+ int rowsAffected = session.createQuery(updateHQL).setFlushMode(FlushMode.AUTO).setParameter("cNewTLF", newTLF)
+ .setParameter("cName", name).executeUpdate();
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ return rowsAffected;
+ } catch (Exception e) {
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+ }
+
+ public Contact getContact(Integer id) throws Exception {
+
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+
+ Session session = getSessions().getCurrentSession();
+ Contact contact = (Contact) session.get(Contact.class, id);
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ return contact;
+ } catch (Exception e) {
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+ }
+
+ public void cleanup() throws Exception {
+ String deleteContactHQL = "delete from Contact";
+ String deleteCustomerHQL = "delete from Customer";
+
+ SimpleJtaTransactionManagerImpl.getInstance().begin();
+ try {
+
+ Session session = getSessions().getCurrentSession();
+ session.createQuery(deleteContactHQL).setFlushMode(FlushMode.AUTO).executeUpdate();
+ session.createQuery(deleteCustomerHQL).setFlushMode(FlushMode.AUTO).executeUpdate();
+ SimpleJtaTransactionManagerImpl.getInstance().commit();
+ } catch (Exception e) {
+ SimpleJtaTransactionManagerImpl.getInstance().rollback();
+ throw e;
+ }
+
+ }
+
+ private Customer createCustomer(int id) throws Exception {
+ System.out.println("CREATE CUSTOMER " + id);
+ try {
+ Customer customer = new Customer();
+ customer.setName((id % 2 == 0) ? "JBoss" : "Red Hat");
+ Set<Contact> contacts = new HashSet<Contact>();
+
+ Contact kabir = new Contact();
+ kabir.setCustomer(customer);
+ kabir.setName("Kabir");
+ kabir.setTlf("1111");
+ contacts.add(kabir);
+
+ Contact bill = new Contact();
+ bill.setCustomer(customer);
+ bill.setName("Bill");
+ bill.setTlf("2222");
+ contacts.add(bill);
+
+ customer.setContacts(contacts);
+
+ Session s = openSession();
+ s.getTransaction().begin();
+ s.persist(customer);
+ s.getTransaction().commit();
+ s.close();
+
+ return customer;
+ } finally {
+ System.out.println("CREATE CUSTOMER " + id + " - END");
+ }
+ }
+
+}
Modified: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/AbstractDualNodeTestCase.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/AbstractDualNodeTestCase.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/AbstractDualNodeTestCase.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -39,6 +39,7 @@
* @author Galder Zamarreño
*/
public class AbstractDualNodeTestCase extends FunctionalTestCase {
+
private static final Logger log = LoggerFactory.getLogger(AbstractDualNodeTestCase.class);
public static final String NODE_ID_PROP = "hibernate.test.cluster.node.id";
public static final String LOCAL = "local";
@@ -51,7 +52,7 @@
}
public String[] getMappings() {
- return new String[] { "cache/infinispan/functional/cluster/Contact.hbm.xml" };
+ return new String[] { "cache/infinispan/functional/Contact.hbm.xml", "cache/infinispan/functional/Customer.hbm.xml" };
}
@Override
Deleted: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.hbm.xml
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.hbm.xml 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.hbm.xml 2009-08-17 07:46:18 UTC (rev 17331)
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<!--
- ~ Hibernate, Relational Persistence for Idiomatic Java
- ~
- ~ Copyright (c) 2007, Red Hat Middleware LLC or third-party contributors as
- ~ indicated by the @author tags or express copyright attribution
- ~ statements applied by the authors. All third-party contributions are
- ~ distributed under license by Red Hat Middleware LLC.
- ~
- ~ This copyrighted material is made available to anyone wishing to use, modify,
- ~ copy, or redistribute it subject to the terms and conditions of the GNU
- ~ Lesser General Public License, as published by the Free Software Foundation.
- ~
- ~ This program is distributed in the hope that it will be useful,
- ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- ~ for more details.
- ~
- ~ You should have received a copy of the GNU Lesser General Public License
- ~ along with this distribution; if not, write to:
- ~ Free Software Foundation, Inc.
- ~ 51 Franklin Street, Fifth Floor
- ~ Boston, MA 02110-1301 USA
- -->
-<hibernate-mapping
- package="org.hibernate.test.cache.infinispan.functional.cluster">
-
- <class name="Contact" table="Contacts">
- <id name="id">
- <generator class="increment"/>
- </id>
- <property name="name" not-null="true"/>
- <property name="tlf" not-null="true"/>
- <many-to-one name="customer" column="cust_id" class="Customer" />
- </class>
-
- <class name="Customer" table="Customers">
- <id name="id">
- <generator class="increment"/>
- </id>
- <property name="name" not-null="true"/>
- <set name="contacts" inverse="true" cascade = "save-update">
- <key column="cust_id" />
- <one-to-many class="Contact"/>
- </set>
-
- </class>
-
-</hibernate-mapping>
\ No newline at end of file
Deleted: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Contact.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -1,90 +0,0 @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.test.cache.infinispan.functional.cluster;
-
-import java.io.Serializable;
-
-/**
- * Entity that has a many-to-one relationship to a Customer
- */
-public class Contact implements Serializable {
- Integer id;
- String name;
- String tlf;
- Customer customer;
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getTlf() {
- return tlf;
- }
-
- public void setTlf(String tlf) {
- this.tlf = tlf;
- }
-
- public Customer getCustomer() {
- return customer;
- }
-
- public void setCustomer(Customer customer) {
- this.customer = customer;
- }
-
- @Override
- public boolean equals(Object o) {
- if (o == this) return true;
- if (!(o instanceof Contact)) return false;
- Contact c = (Contact) o;
- return c.id.equals(id)
- && c.name.equals(name)
- && c.tlf.equals(tlf);
- }
-
- @Override
- public int hashCode() {
- int result = 17;
- result = 31 * result + (id == null ? 0 : id.hashCode());
- result = 31 * result + name.hashCode();
- result = 31 * result + tlf.hashCode();
- return result;
- }
-
-
-
-}
Deleted: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Customer.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Customer.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/Customer.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -1,67 +0,0 @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.test.cache.infinispan.functional.cluster;
-
-import java.io.Serializable;
-import java.util.Set;
-
-/**
- * Company customer
- *
- * @author Emmanuel Bernard
- * @author Kabir Khan
- */
-public class Customer implements Serializable {
- Integer id;
- String name;
-
- private transient Set<Contact> contacts;
-
- public Customer() {
- }
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String string) {
- name = string;
- }
-
- public Set<Contact> getContacts() {
- return contacts;
- }
-
- public void setContacts(Set<Contact> contacts) {
- this.contacts = contacts;
- }
-}
Modified: core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java
===================================================================
--- core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java 2009-08-16 16:44:10 UTC (rev 17330)
+++ core/branches/INFINISPAN/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java 2009-08-17 07:46:18 UTC (rev 17331)
@@ -30,6 +30,8 @@
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cache.CacheKey;
+import org.hibernate.test.cache.infinispan.functional.Contact;
+import org.hibernate.test.cache.infinispan.functional.Customer;
import org.infinispan.Cache;
import org.infinispan.manager.CacheManager;
import org.infinispan.marshall.MarshalledValue;
@@ -244,7 +246,7 @@
Set<Contact> contacts = customer.getContacts();
for (Contact c : contacts) {
- if (c.name.equals("Kabir")) {
+ if (c.getName().equals("Kabir")) {
contacts.remove(c);
} else {
contactIds.add(c.getId());
15 years, 4 months
Message could not be delivered
by The Post Office
The original message was received at Mon, 17 Aug 2009 04:22:11 +0200
from lists.jboss.org [19.214.131.241]
----- The following addresses had permanent fatal errors -----
hibernate-commits(a)lists.jboss.org
15 years, 4 months
Hibernate SVN: r17330 - core/trunk/core.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2009-08-16 12:44:10 -0400 (Sun, 16 Aug 2009)
New Revision: 17330
Modified:
core/trunk/core/
Log:
added netbeans config file to ignore list
Property changes on: core/trunk/core
___________________________________________________________________
Name: svn:ignore
- target
local
*.ipr
*.iws
*.iml
.classpath
.project
.settings
.nbattrs
*.log
*.properties
.clover
+ target
local
*.ipr
*.iws
*.iml
.classpath
.project
.settings
.nbattrs
nb-configuration.xml
*.log
*.properties
.clover
15 years, 4 months
Hibernate SVN: r17329 - in core/trunk/documentation/manual/src/main/docbook: es-ES/content and 12 other directories.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2009-08-16 12:35:27 -0400 (Sun, 16 Aug 2009)
New Revision: 17329
Added:
core/trunk/documentation/manual/src/main/docbook/es-ES/author_group.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/bibliography.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/portability.po
core/trunk/documentation/manual/src/main/docbook/fr-FR/author_group.po
core/trunk/documentation/manual/src/main/docbook/fr-FR/content/bibliography.po
core/trunk/documentation/manual/src/main/docbook/fr-FR/content/portability.po
core/trunk/documentation/manual/src/main/docbook/ja-JP/author_group.po
core/trunk/documentation/manual/src/main/docbook/ja-JP/content/bibliography.po
core/trunk/documentation/manual/src/main/docbook/ja-JP/content/portability.po
core/trunk/documentation/manual/src/main/docbook/ko-KR/author_group.po
core/trunk/documentation/manual/src/main/docbook/ko-KR/content/bibliography.po
core/trunk/documentation/manual/src/main/docbook/ko-KR/content/portability.po
core/trunk/documentation/manual/src/main/docbook/pot/author_group.pot
core/trunk/documentation/manual/src/main/docbook/pot/content/bibliography.pot
core/trunk/documentation/manual/src/main/docbook/pot/content/portability.pot
core/trunk/documentation/manual/src/main/docbook/pt-BR/author_group.po
core/trunk/documentation/manual/src/main/docbook/pt-BR/content/bibliography.po
core/trunk/documentation/manual/src/main/docbook/pt-BR/content/portability.po
core/trunk/documentation/manual/src/main/docbook/zh-CN/author_group.po
core/trunk/documentation/manual/src/main/docbook/zh-CN/content/bibliography.po
core/trunk/documentation/manual/src/main/docbook/zh-CN/content/portability.po
Log:
missed commits for translation PO files
Added: core/trunk/documentation/manual/src/main/docbook/es-ES/author_group.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/author_group.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/author_group.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,221 @@
+# Language es-ES translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid ""
+"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
+"surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid ""
+"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid ""
+"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
+"<email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid ""
+"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
+"othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid ""
+"<firstname>Alvaro</firstname> <surname>Netto</surname> "
+"<email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid ""
+"<firstname>Anderson</firstname> <surname>Braulio</surname> "
+"<email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid ""
+"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
+"<email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid ""
+"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
+"gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid ""
+"<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid ""
+"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
+"<email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid ""
+"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
+"castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid ""
+"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid ""
+"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
+"<email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid ""
+"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid ""
+"<firstname>Rogério</firstname> <surname>Araújo</surname> "
+"<email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid ""
+"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
+"<email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid ""
+"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
+"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
+"contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/es-ES/content/bibliography.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/bibliography.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/bibliography.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,68 @@
+# Language es-ES translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/es-ES/content/portability.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/portability.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/portability.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,234 @@
+# Language es-ES translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: 2009-07-14 19:56+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid ""
+"One of the selling points of Hibernate (and really Object/Relational Mapping "
+"as a whole) is the notion of database portability. This could mean an "
+"internal IT user migrating from one database vendor to another, or it could "
+"mean a framework or deployable application consuming Hibernate to "
+"simultaneously target multiple database products by their users. Regardless "
+"of the exact scenario, the basic idea is that you want Hibernate to help you "
+"run against any number of databases without changes to your code, and "
+"ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid ""
+"The first line of portability for Hibernate is the dialect, which is a "
+"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
+"contract. A dialect encapsulates all the differences in how Hibernate must "
+"communicate with a particular database to accomplish some task like getting "
+"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
+"range of dialects for many of the most popular databases. If you find that "
+"your particular database is not among them, it is not terribly difficult to "
+"write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid ""
+"Originally, Hibernate would always require that users specify which dialect "
+"to use. In the case of users looking to simultaneously target multiple "
+"databases with their build that was problematic. Generally this required "
+"their users to configure the Hibernate dialect or defining their own method "
+"of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid ""
+"Starting with version 3.2, Hibernate introduced the notion of automatically "
+"detecting the dialect to use based on the <interfacename>java.sql."
+"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
+"Connection</interfacename> to that database. This was much better, expect "
+"that this resolution was limited to databases Hibernate know about ahead of "
+"time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid ""
+"Starting with version 3.3, Hibernate has a fare more powerful way to "
+"automatically determine which dialect to should be used by relying on a "
+"series of delegates which implement the <interfacename>org.hibernate.dialect."
+"resolver.DialectResolver</interfacename> which defines only a single method:"
+"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData "
+"metaData) throws JDBCConnectionException]]></programlisting>. The basic "
+"contract here is that if the resolver 'understands' the given database "
+"metadata then it returns the corresponding Dialect; if not it returns null "
+"and the process continues to the next resolver. The signature also "
+"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
+"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
+"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
+"problem and is used to indicate an immediate stop to resolution attempts. "
+"All other exceptions result in a warning and continuing on to the next "
+"resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid ""
+"The cool part about these resolvers is that users can also register their "
+"own custom resolvers which will be processed ahead of the built-in Hibernate "
+"ones. This might be useful in a number of different situations: it allows "
+"easy integration for auto-detection of dialects beyond those shipped with "
+"HIbernate itself; it allows you to specify to use a custom dialect when a "
+"particular database is recognized; etc. To register one or more resolvers, "
+"simply specify them (seperated by commas, tabs or spaces) using the "
+"'hibernate.dialect_resolvers' configuration setting (see the "
+"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
+"cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid ""
+"When considering portability between databases, another important decision "
+"is selecting the identifier generation stratagy you want to use. Originally "
+"Hibernate provided the <emphasis>native</emphasis> generator for this "
+"purpose, which was intended to select between a <emphasis>sequence</"
+"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
+"strategy depending on the capability of the underlying database. However, an "
+"insidious implication of this approach comes about when targtetting some "
+"databases which support <emphasis>identity</emphasis> generation and some "
+"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
+"definition of an IDENTITY (or auto-increment) column to manage the "
+"identifier value; it is what is known as a post-insert generation strategy "
+"becauase the insert must actually happen before we can know the identifier "
+"value. Because Hibernate relies on this identifier value to uniquely "
+"reference entities within a persistence context it must then issue the "
+"insert immediately when the users requests the entitiy be associated with "
+"the session (like via save() e.g.) regardless of current transactional "
+"semantics. <note> <para> Hibernate was changed slightly once the implication "
+"of this was better understood so that the insert is delayed in cases where "
+"that is feasible. </para> </note> The underlying issue is that the actual "
+"semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid ""
+"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
+"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
+"targetting portability in a much different way. <note> <para> There are "
+"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
+"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
+"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
+"listitem> </itemizedlist> </para> </note> The idea behind these generators "
+"is to port the actual semantics of the identifer value generation to the "
+"different databases. For example, the <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
+"databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid ""
+"This is an area in Hibernate in need of improvement. In terms of portability "
+"concerns, this function handling currently works pretty well from HQL; "
+"however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid ""
+"SQL functions can be referenced in many ways by users. However, not all "
+"databases support the same set of functions. Hibernate, provides a means of "
+"mapping a <emphasis>logical</emphasis> function name to a a delegate which "
+"knows how to render that particular function, perhaps even using a totally "
+"different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid ""
+"Technically this function registration is handled through the <classname>org."
+"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
+"intended to allow users to provide custom function definitions without "
+"having to provide a custom dialect. This specific behavior is not fully "
+"completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid ""
+"It is sort of implemented such that users can programatically register "
+"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
+"and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/fr-FR/author_group.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/fr-FR/author_group.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/fr-FR/author_group.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,221 @@
+# Language fr-FR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid ""
+"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
+"surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid ""
+"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid ""
+"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
+"<email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid ""
+"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
+"othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid ""
+"<firstname>Alvaro</firstname> <surname>Netto</surname> "
+"<email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid ""
+"<firstname>Anderson</firstname> <surname>Braulio</surname> "
+"<email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid ""
+"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
+"<email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid ""
+"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
+"gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid ""
+"<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid ""
+"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
+"<email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid ""
+"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
+"castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid ""
+"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid ""
+"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
+"<email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid ""
+"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid ""
+"<firstname>Rogério</firstname> <surname>Araújo</surname> "
+"<email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid ""
+"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
+"<email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid ""
+"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
+"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
+"contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/fr-FR/content/bibliography.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/fr-FR/content/bibliography.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/fr-FR/content/bibliography.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,68 @@
+# Language fr-FR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/fr-FR/content/portability.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/fr-FR/content/portability.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/fr-FR/content/portability.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,234 @@
+# Language fr-FR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: 2009-07-14 19:56+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid ""
+"One of the selling points of Hibernate (and really Object/Relational Mapping "
+"as a whole) is the notion of database portability. This could mean an "
+"internal IT user migrating from one database vendor to another, or it could "
+"mean a framework or deployable application consuming Hibernate to "
+"simultaneously target multiple database products by their users. Regardless "
+"of the exact scenario, the basic idea is that you want Hibernate to help you "
+"run against any number of databases without changes to your code, and "
+"ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid ""
+"The first line of portability for Hibernate is the dialect, which is a "
+"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
+"contract. A dialect encapsulates all the differences in how Hibernate must "
+"communicate with a particular database to accomplish some task like getting "
+"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
+"range of dialects for many of the most popular databases. If you find that "
+"your particular database is not among them, it is not terribly difficult to "
+"write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid ""
+"Originally, Hibernate would always require that users specify which dialect "
+"to use. In the case of users looking to simultaneously target multiple "
+"databases with their build that was problematic. Generally this required "
+"their users to configure the Hibernate dialect or defining their own method "
+"of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid ""
+"Starting with version 3.2, Hibernate introduced the notion of automatically "
+"detecting the dialect to use based on the <interfacename>java.sql."
+"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
+"Connection</interfacename> to that database. This was much better, expect "
+"that this resolution was limited to databases Hibernate know about ahead of "
+"time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid ""
+"Starting with version 3.3, Hibernate has a fare more powerful way to "
+"automatically determine which dialect to should be used by relying on a "
+"series of delegates which implement the <interfacename>org.hibernate.dialect."
+"resolver.DialectResolver</interfacename> which defines only a single method:"
+"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData "
+"metaData) throws JDBCConnectionException]]></programlisting>. The basic "
+"contract here is that if the resolver 'understands' the given database "
+"metadata then it returns the corresponding Dialect; if not it returns null "
+"and the process continues to the next resolver. The signature also "
+"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
+"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
+"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
+"problem and is used to indicate an immediate stop to resolution attempts. "
+"All other exceptions result in a warning and continuing on to the next "
+"resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid ""
+"The cool part about these resolvers is that users can also register their "
+"own custom resolvers which will be processed ahead of the built-in Hibernate "
+"ones. This might be useful in a number of different situations: it allows "
+"easy integration for auto-detection of dialects beyond those shipped with "
+"HIbernate itself; it allows you to specify to use a custom dialect when a "
+"particular database is recognized; etc. To register one or more resolvers, "
+"simply specify them (seperated by commas, tabs or spaces) using the "
+"'hibernate.dialect_resolvers' configuration setting (see the "
+"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
+"cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid ""
+"When considering portability between databases, another important decision "
+"is selecting the identifier generation stratagy you want to use. Originally "
+"Hibernate provided the <emphasis>native</emphasis> generator for this "
+"purpose, which was intended to select between a <emphasis>sequence</"
+"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
+"strategy depending on the capability of the underlying database. However, an "
+"insidious implication of this approach comes about when targtetting some "
+"databases which support <emphasis>identity</emphasis> generation and some "
+"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
+"definition of an IDENTITY (or auto-increment) column to manage the "
+"identifier value; it is what is known as a post-insert generation strategy "
+"becauase the insert must actually happen before we can know the identifier "
+"value. Because Hibernate relies on this identifier value to uniquely "
+"reference entities within a persistence context it must then issue the "
+"insert immediately when the users requests the entitiy be associated with "
+"the session (like via save() e.g.) regardless of current transactional "
+"semantics. <note> <para> Hibernate was changed slightly once the implication "
+"of this was better understood so that the insert is delayed in cases where "
+"that is feasible. </para> </note> The underlying issue is that the actual "
+"semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid ""
+"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
+"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
+"targetting portability in a much different way. <note> <para> There are "
+"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
+"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
+"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
+"listitem> </itemizedlist> </para> </note> The idea behind these generators "
+"is to port the actual semantics of the identifer value generation to the "
+"different databases. For example, the <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
+"databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid ""
+"This is an area in Hibernate in need of improvement. In terms of portability "
+"concerns, this function handling currently works pretty well from HQL; "
+"however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid ""
+"SQL functions can be referenced in many ways by users. However, not all "
+"databases support the same set of functions. Hibernate, provides a means of "
+"mapping a <emphasis>logical</emphasis> function name to a a delegate which "
+"knows how to render that particular function, perhaps even using a totally "
+"different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid ""
+"Technically this function registration is handled through the <classname>org."
+"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
+"intended to allow users to provide custom function definitions without "
+"having to provide a custom dialect. This specific behavior is not fully "
+"completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid ""
+"It is sort of implemented such that users can programatically register "
+"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
+"and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/ja-JP/author_group.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/ja-JP/author_group.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/ja-JP/author_group.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,221 @@
+# Language ja-JP translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid ""
+"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
+"surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid ""
+"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid ""
+"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
+"<email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid ""
+"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
+"othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid ""
+"<firstname>Alvaro</firstname> <surname>Netto</surname> "
+"<email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid ""
+"<firstname>Anderson</firstname> <surname>Braulio</surname> "
+"<email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid ""
+"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
+"<email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid ""
+"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
+"gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid ""
+"<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid ""
+"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
+"<email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid ""
+"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
+"castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid ""
+"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid ""
+"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
+"<email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid ""
+"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid ""
+"<firstname>Rogério</firstname> <surname>Araújo</surname> "
+"<email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid ""
+"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
+"<email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid ""
+"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
+"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
+"contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/ja-JP/content/bibliography.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/ja-JP/content/bibliography.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/ja-JP/content/bibliography.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,68 @@
+# Language ja-JP translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/ja-JP/content/portability.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/ja-JP/content/portability.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/ja-JP/content/portability.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,234 @@
+# Language ja-JP translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: 2009-07-14 19:56+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid ""
+"One of the selling points of Hibernate (and really Object/Relational Mapping "
+"as a whole) is the notion of database portability. This could mean an "
+"internal IT user migrating from one database vendor to another, or it could "
+"mean a framework or deployable application consuming Hibernate to "
+"simultaneously target multiple database products by their users. Regardless "
+"of the exact scenario, the basic idea is that you want Hibernate to help you "
+"run against any number of databases without changes to your code, and "
+"ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid ""
+"The first line of portability for Hibernate is the dialect, which is a "
+"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
+"contract. A dialect encapsulates all the differences in how Hibernate must "
+"communicate with a particular database to accomplish some task like getting "
+"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
+"range of dialects for many of the most popular databases. If you find that "
+"your particular database is not among them, it is not terribly difficult to "
+"write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid ""
+"Originally, Hibernate would always require that users specify which dialect "
+"to use. In the case of users looking to simultaneously target multiple "
+"databases with their build that was problematic. Generally this required "
+"their users to configure the Hibernate dialect or defining their own method "
+"of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid ""
+"Starting with version 3.2, Hibernate introduced the notion of automatically "
+"detecting the dialect to use based on the <interfacename>java.sql."
+"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
+"Connection</interfacename> to that database. This was much better, expect "
+"that this resolution was limited to databases Hibernate know about ahead of "
+"time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid ""
+"Starting with version 3.3, Hibernate has a fare more powerful way to "
+"automatically determine which dialect to should be used by relying on a "
+"series of delegates which implement the <interfacename>org.hibernate.dialect."
+"resolver.DialectResolver</interfacename> which defines only a single method:"
+"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData "
+"metaData) throws JDBCConnectionException]]></programlisting>. The basic "
+"contract here is that if the resolver 'understands' the given database "
+"metadata then it returns the corresponding Dialect; if not it returns null "
+"and the process continues to the next resolver. The signature also "
+"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
+"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
+"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
+"problem and is used to indicate an immediate stop to resolution attempts. "
+"All other exceptions result in a warning and continuing on to the next "
+"resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid ""
+"The cool part about these resolvers is that users can also register their "
+"own custom resolvers which will be processed ahead of the built-in Hibernate "
+"ones. This might be useful in a number of different situations: it allows "
+"easy integration for auto-detection of dialects beyond those shipped with "
+"HIbernate itself; it allows you to specify to use a custom dialect when a "
+"particular database is recognized; etc. To register one or more resolvers, "
+"simply specify them (seperated by commas, tabs or spaces) using the "
+"'hibernate.dialect_resolvers' configuration setting (see the "
+"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
+"cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid ""
+"When considering portability between databases, another important decision "
+"is selecting the identifier generation stratagy you want to use. Originally "
+"Hibernate provided the <emphasis>native</emphasis> generator for this "
+"purpose, which was intended to select between a <emphasis>sequence</"
+"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
+"strategy depending on the capability of the underlying database. However, an "
+"insidious implication of this approach comes about when targtetting some "
+"databases which support <emphasis>identity</emphasis> generation and some "
+"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
+"definition of an IDENTITY (or auto-increment) column to manage the "
+"identifier value; it is what is known as a post-insert generation strategy "
+"becauase the insert must actually happen before we can know the identifier "
+"value. Because Hibernate relies on this identifier value to uniquely "
+"reference entities within a persistence context it must then issue the "
+"insert immediately when the users requests the entitiy be associated with "
+"the session (like via save() e.g.) regardless of current transactional "
+"semantics. <note> <para> Hibernate was changed slightly once the implication "
+"of this was better understood so that the insert is delayed in cases where "
+"that is feasible. </para> </note> The underlying issue is that the actual "
+"semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid ""
+"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
+"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
+"targetting portability in a much different way. <note> <para> There are "
+"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
+"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
+"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
+"listitem> </itemizedlist> </para> </note> The idea behind these generators "
+"is to port the actual semantics of the identifer value generation to the "
+"different databases. For example, the <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
+"databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid ""
+"This is an area in Hibernate in need of improvement. In terms of portability "
+"concerns, this function handling currently works pretty well from HQL; "
+"however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid ""
+"SQL functions can be referenced in many ways by users. However, not all "
+"databases support the same set of functions. Hibernate, provides a means of "
+"mapping a <emphasis>logical</emphasis> function name to a a delegate which "
+"knows how to render that particular function, perhaps even using a totally "
+"different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid ""
+"Technically this function registration is handled through the <classname>org."
+"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
+"intended to allow users to provide custom function definitions without "
+"having to provide a custom dialect. This specific behavior is not fully "
+"completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid ""
+"It is sort of implemented such that users can programatically register "
+"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
+"and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/ko-KR/author_group.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/ko-KR/author_group.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/ko-KR/author_group.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,221 @@
+# Language ko-KR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid ""
+"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
+"surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid ""
+"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid ""
+"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
+"<email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid ""
+"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
+"othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid ""
+"<firstname>Alvaro</firstname> <surname>Netto</surname> "
+"<email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid ""
+"<firstname>Anderson</firstname> <surname>Braulio</surname> "
+"<email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid ""
+"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
+"<email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid ""
+"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
+"gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid ""
+"<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid ""
+"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
+"<email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid ""
+"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
+"castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid ""
+"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid ""
+"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
+"<email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid ""
+"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid ""
+"<firstname>Rogério</firstname> <surname>Araújo</surname> "
+"<email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid ""
+"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
+"<email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid ""
+"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
+"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
+"contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/ko-KR/content/bibliography.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/ko-KR/content/bibliography.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/ko-KR/content/bibliography.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,68 @@
+# Language ko-KR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/ko-KR/content/portability.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/ko-KR/content/portability.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/ko-KR/content/portability.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,234 @@
+# Language ko-KR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: 2009-07-14 19:56+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid ""
+"One of the selling points of Hibernate (and really Object/Relational Mapping "
+"as a whole) is the notion of database portability. This could mean an "
+"internal IT user migrating from one database vendor to another, or it could "
+"mean a framework or deployable application consuming Hibernate to "
+"simultaneously target multiple database products by their users. Regardless "
+"of the exact scenario, the basic idea is that you want Hibernate to help you "
+"run against any number of databases without changes to your code, and "
+"ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid ""
+"The first line of portability for Hibernate is the dialect, which is a "
+"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
+"contract. A dialect encapsulates all the differences in how Hibernate must "
+"communicate with a particular database to accomplish some task like getting "
+"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
+"range of dialects for many of the most popular databases. If you find that "
+"your particular database is not among them, it is not terribly difficult to "
+"write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid ""
+"Originally, Hibernate would always require that users specify which dialect "
+"to use. In the case of users looking to simultaneously target multiple "
+"databases with their build that was problematic. Generally this required "
+"their users to configure the Hibernate dialect or defining their own method "
+"of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid ""
+"Starting with version 3.2, Hibernate introduced the notion of automatically "
+"detecting the dialect to use based on the <interfacename>java.sql."
+"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
+"Connection</interfacename> to that database. This was much better, expect "
+"that this resolution was limited to databases Hibernate know about ahead of "
+"time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid ""
+"Starting with version 3.3, Hibernate has a fare more powerful way to "
+"automatically determine which dialect to should be used by relying on a "
+"series of delegates which implement the <interfacename>org.hibernate.dialect."
+"resolver.DialectResolver</interfacename> which defines only a single method:"
+"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData "
+"metaData) throws JDBCConnectionException]]></programlisting>. The basic "
+"contract here is that if the resolver 'understands' the given database "
+"metadata then it returns the corresponding Dialect; if not it returns null "
+"and the process continues to the next resolver. The signature also "
+"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
+"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
+"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
+"problem and is used to indicate an immediate stop to resolution attempts. "
+"All other exceptions result in a warning and continuing on to the next "
+"resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid ""
+"The cool part about these resolvers is that users can also register their "
+"own custom resolvers which will be processed ahead of the built-in Hibernate "
+"ones. This might be useful in a number of different situations: it allows "
+"easy integration for auto-detection of dialects beyond those shipped with "
+"HIbernate itself; it allows you to specify to use a custom dialect when a "
+"particular database is recognized; etc. To register one or more resolvers, "
+"simply specify them (seperated by commas, tabs or spaces) using the "
+"'hibernate.dialect_resolvers' configuration setting (see the "
+"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
+"cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid ""
+"When considering portability between databases, another important decision "
+"is selecting the identifier generation stratagy you want to use. Originally "
+"Hibernate provided the <emphasis>native</emphasis> generator for this "
+"purpose, which was intended to select between a <emphasis>sequence</"
+"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
+"strategy depending on the capability of the underlying database. However, an "
+"insidious implication of this approach comes about when targtetting some "
+"databases which support <emphasis>identity</emphasis> generation and some "
+"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
+"definition of an IDENTITY (or auto-increment) column to manage the "
+"identifier value; it is what is known as a post-insert generation strategy "
+"becauase the insert must actually happen before we can know the identifier "
+"value. Because Hibernate relies on this identifier value to uniquely "
+"reference entities within a persistence context it must then issue the "
+"insert immediately when the users requests the entitiy be associated with "
+"the session (like via save() e.g.) regardless of current transactional "
+"semantics. <note> <para> Hibernate was changed slightly once the implication "
+"of this was better understood so that the insert is delayed in cases where "
+"that is feasible. </para> </note> The underlying issue is that the actual "
+"semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid ""
+"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
+"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
+"targetting portability in a much different way. <note> <para> There are "
+"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
+"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
+"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
+"listitem> </itemizedlist> </para> </note> The idea behind these generators "
+"is to port the actual semantics of the identifer value generation to the "
+"different databases. For example, the <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
+"databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid ""
+"This is an area in Hibernate in need of improvement. In terms of portability "
+"concerns, this function handling currently works pretty well from HQL; "
+"however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid ""
+"SQL functions can be referenced in many ways by users. However, not all "
+"databases support the same set of functions. Hibernate, provides a means of "
+"mapping a <emphasis>logical</emphasis> function name to a a delegate which "
+"knows how to render that particular function, perhaps even using a totally "
+"different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid ""
+"Technically this function registration is handled through the <classname>org."
+"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
+"intended to allow users to provide custom function definitions without "
+"having to provide a custom dialect. This specific behavior is not fully "
+"completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid ""
+"It is sort of implemented such that users can programatically register "
+"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
+"and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/pot/author_group.pot
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/pot/author_group.pot (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/pot/author_group.pot 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,190 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <kde-i18n-doc(a)kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: application/x-xml2pot; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid "<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid "<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid "<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> <email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid "<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid "<firstname>Alvaro</firstname> <surname>Netto</surname> <email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid "<firstname>Anderson</firstname> <surname>Braulio</surname> <email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid "<firstname>Daniel Vieira</firstname> <surname>Costa</surname> <email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid "<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid "<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid "<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> <email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid "<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel.castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid "<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid "<firstname>Pablo L.</firstname> <surname>de Miranda</surname> <email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid "<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid "<firstname>Rogério</firstname> <surname>Araújo</surname> <email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid "<firstname>Wanderson</firstname> <surname>Siqueira</surname> <email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid "<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> <orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
+
Added: core/trunk/documentation/manual/src/main/docbook/pot/content/bibliography.pot
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/pot/content/bibliography.pot (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/pot/content/bibliography.pot 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,70 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <kde-i18n-doc(a)kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: application/x-xml2pot; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
+
Added: core/trunk/documentation/manual/src/main/docbook/pot/content/portability.pot
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/pot/content/portability.pot (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/pot/content/portability.pot 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,136 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <kde-i18n-doc(a)kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: application/x-xml2pot; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid "One of the selling points of Hibernate (and really Object/Relational Mapping as a whole) is the notion of database portability. This could mean an internal IT user migrating from one database vendor to another, or it could mean a framework or deployable application consuming Hibernate to simultaneously target multiple database products by their users. Regardless of the exact scenario, the basic idea is that you want Hibernate to help you run against any number of databases without changes to your code, and ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid "The first line of portability for Hibernate is the dialect, which is a specialization of the <classname>org.hibernate.dialect.Dialect</classname> contract. A dialect encapsulates all the differences in how Hibernate must communicate with a particular database to accomplish some task like getting a sequence value or structuring a SELECT query. Hibernate bundles a wide range of dialects for many of the most popular databases. If you find that your particular database is not among them, it is not terribly difficult to write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid "Originally, Hibernate would always require that users specify which dialect to use. In the case of users looking to simultaneously target multiple databases with their build that was problematic. Generally this required their users to configure the Hibernate dialect or defining their own method of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid "Starting with version 3.2, Hibernate introduced the notion of automatically detecting the dialect to use based on the <interfacename>java.sql.DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql.Connection</interfacename> to that database. This was much better, expect that this resolution was limited to databases Hibernate know about ahead of time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid "Starting with version 3.3, Hibernate has a fare more powerful way to automatically determine which dialect to should be used by relying on a series of delegates which implement the <interfacename>org.hibernate.dialect.resolver.DialectResolver</interfacename> which defines only a single method:<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData metaData) throws JDBCConnectionException]]></programlisting>. The basic contract here is that if the resolver 'understands' the given database metadata then it returns the corresponding Dialect; if not it returns null and the process continues to the next resolver. The signature also identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</exceptionname> as possibly being thrown. A JDBCConnectionException here is interpreted to imply a \"non transient\" (aka non-recoverable) connection problem and is used to indicate an immediate stop to resolution attempts. All other exceptions result in a!
warning and continuing on to the next resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid "The cool part about these resolvers is that users can also register their own custom resolvers which will be processed ahead of the built-in Hibernate ones. This might be useful in a number of different situations: it allows easy integration for auto-detection of dialects beyond those shipped with HIbernate itself; it allows you to specify to use a custom dialect when a particular database is recognized; etc. To register one or more resolvers, simply specify them (seperated by commas, tabs or spaces) using the 'hibernate.dialect_resolvers' configuration setting (see the <constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate.cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid "When considering portability between databases, another important decision is selecting the identifier generation stratagy you want to use. Originally Hibernate provided the <emphasis>native</emphasis> generator for this purpose, which was intended to select between a <emphasis>sequence</emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> strategy depending on the capability of the underlying database. However, an insidious implication of this approach comes about when targtetting some databases which support <emphasis>identity</emphasis> generation and some which do not. <emphasis>identity</emphasis> generation relies on the SQL definition of an IDENTITY (or auto-increment) column to manage the identifier value; it is what is known as a post-insert generation strategy becauase the insert must actually happen before we can know the identifier value. Because Hibernate relies on this identifier value to uniquely reference entities within a persisten!
ce context it must then issue the insert immediately when the users requests the entitiy be associated with the session (like via save() e.g.) regardless of current transactional semantics. <note> <para> Hibernate was changed slightly once the implication of this was better understood so that the insert is delayed in cases where that is feasible. </para> </note> The underlying issue is that the actual semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid "Starting with version 3.2.3, Hibernate comes with a set of <ulink url=\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators targetting portability in a much different way. <note> <para> There are specifically 2 bundled <emphasis>enhanced</emphasis>generators: <itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> <classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </listitem> </itemizedlist> </para> </note> The idea behind these generators is to port the actual semantics of the identifer value generation to the different databases. For example, the <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> mimics the behavior of a sequence on databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid "This is an area in Hibernate in need of improvement. In terms of portability concerns, this function handling currently works pretty well from HQL; however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid "SQL functions can be referenced in many ways by users. However, not all databases support the same set of functions. Hibernate, provides a means of mapping a <emphasis>logical</emphasis> function name to a a delegate which knows how to render that particular function, perhaps even using a totally different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid "Technically this function registration is handled through the <classname>org.hibernate.dialect.function.SQLFunctionRegistry</classname> class which is intended to allow users to provide custom function definitions without having to provide a custom dialect. This specific behavior is not fully completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid "It is sort of implemented such that users can programatically register functions with the <classname>org.hibernate.cfg.Configuration</classname> and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
+
Added: core/trunk/documentation/manual/src/main/docbook/pt-BR/author_group.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/pt-BR/author_group.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/pt-BR/author_group.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,221 @@
+# Language pt-BR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid ""
+"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
+"surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid ""
+"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid ""
+"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
+"<email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid ""
+"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
+"othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid ""
+"<firstname>Alvaro</firstname> <surname>Netto</surname> "
+"<email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid ""
+"<firstname>Anderson</firstname> <surname>Braulio</surname> "
+"<email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid ""
+"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
+"<email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid ""
+"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
+"gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid ""
+"<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid ""
+"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
+"<email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid ""
+"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
+"castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid ""
+"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid ""
+"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
+"<email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid ""
+"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid ""
+"<firstname>Rogério</firstname> <surname>Araújo</surname> "
+"<email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid ""
+"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
+"<email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid ""
+"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
+"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
+"contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/pt-BR/content/bibliography.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/pt-BR/content/bibliography.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/pt-BR/content/bibliography.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,68 @@
+# Language pt-BR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/pt-BR/content/portability.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/pt-BR/content/portability.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/pt-BR/content/portability.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,234 @@
+# Language pt-BR translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: 2009-07-14 19:56+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid ""
+"One of the selling points of Hibernate (and really Object/Relational Mapping "
+"as a whole) is the notion of database portability. This could mean an "
+"internal IT user migrating from one database vendor to another, or it could "
+"mean a framework or deployable application consuming Hibernate to "
+"simultaneously target multiple database products by their users. Regardless "
+"of the exact scenario, the basic idea is that you want Hibernate to help you "
+"run against any number of databases without changes to your code, and "
+"ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid ""
+"The first line of portability for Hibernate is the dialect, which is a "
+"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
+"contract. A dialect encapsulates all the differences in how Hibernate must "
+"communicate with a particular database to accomplish some task like getting "
+"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
+"range of dialects for many of the most popular databases. If you find that "
+"your particular database is not among them, it is not terribly difficult to "
+"write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid ""
+"Originally, Hibernate would always require that users specify which dialect "
+"to use. In the case of users looking to simultaneously target multiple "
+"databases with their build that was problematic. Generally this required "
+"their users to configure the Hibernate dialect or defining their own method "
+"of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid ""
+"Starting with version 3.2, Hibernate introduced the notion of automatically "
+"detecting the dialect to use based on the <interfacename>java.sql."
+"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
+"Connection</interfacename> to that database. This was much better, expect "
+"that this resolution was limited to databases Hibernate know about ahead of "
+"time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid ""
+"Starting with version 3.3, Hibernate has a fare more powerful way to "
+"automatically determine which dialect to should be used by relying on a "
+"series of delegates which implement the <interfacename>org.hibernate.dialect."
+"resolver.DialectResolver</interfacename> which defines only a single method:"
+"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData "
+"metaData) throws JDBCConnectionException]]></programlisting>. The basic "
+"contract here is that if the resolver 'understands' the given database "
+"metadata then it returns the corresponding Dialect; if not it returns null "
+"and the process continues to the next resolver. The signature also "
+"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
+"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
+"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
+"problem and is used to indicate an immediate stop to resolution attempts. "
+"All other exceptions result in a warning and continuing on to the next "
+"resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid ""
+"The cool part about these resolvers is that users can also register their "
+"own custom resolvers which will be processed ahead of the built-in Hibernate "
+"ones. This might be useful in a number of different situations: it allows "
+"easy integration for auto-detection of dialects beyond those shipped with "
+"HIbernate itself; it allows you to specify to use a custom dialect when a "
+"particular database is recognized; etc. To register one or more resolvers, "
+"simply specify them (seperated by commas, tabs or spaces) using the "
+"'hibernate.dialect_resolvers' configuration setting (see the "
+"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
+"cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid ""
+"When considering portability between databases, another important decision "
+"is selecting the identifier generation stratagy you want to use. Originally "
+"Hibernate provided the <emphasis>native</emphasis> generator for this "
+"purpose, which was intended to select between a <emphasis>sequence</"
+"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
+"strategy depending on the capability of the underlying database. However, an "
+"insidious implication of this approach comes about when targtetting some "
+"databases which support <emphasis>identity</emphasis> generation and some "
+"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
+"definition of an IDENTITY (or auto-increment) column to manage the "
+"identifier value; it is what is known as a post-insert generation strategy "
+"becauase the insert must actually happen before we can know the identifier "
+"value. Because Hibernate relies on this identifier value to uniquely "
+"reference entities within a persistence context it must then issue the "
+"insert immediately when the users requests the entitiy be associated with "
+"the session (like via save() e.g.) regardless of current transactional "
+"semantics. <note> <para> Hibernate was changed slightly once the implication "
+"of this was better understood so that the insert is delayed in cases where "
+"that is feasible. </para> </note> The underlying issue is that the actual "
+"semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid ""
+"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
+"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
+"targetting portability in a much different way. <note> <para> There are "
+"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
+"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
+"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
+"listitem> </itemizedlist> </para> </note> The idea behind these generators "
+"is to port the actual semantics of the identifer value generation to the "
+"different databases. For example, the <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
+"databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid ""
+"This is an area in Hibernate in need of improvement. In terms of portability "
+"concerns, this function handling currently works pretty well from HQL; "
+"however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid ""
+"SQL functions can be referenced in many ways by users. However, not all "
+"databases support the same set of functions. Hibernate, provides a means of "
+"mapping a <emphasis>logical</emphasis> function name to a a delegate which "
+"knows how to render that particular function, perhaps even using a totally "
+"different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid ""
+"Technically this function registration is handled through the <classname>org."
+"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
+"intended to allow users to provide custom function definitions without "
+"having to provide a custom dialect. This specific behavior is not fully "
+"completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid ""
+"It is sort of implemented such that users can programatically register "
+"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
+"and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/zh-CN/author_group.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/zh-CN/author_group.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/zh-CN/author_group.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,221 @@
+# Language zh-CN translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: author
+#: author_group.xml:27
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:31
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:35
+#, no-c-format
+msgid ""
+"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
+"surname>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:40
+#, no-c-format
+msgid ""
+"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
+msgstr ""
+
+#. Tag: author
+#: author_group.xml:44
+#, no-c-format
+msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:49
+#, no-c-format
+msgid "<firstname>James</firstname> <surname>Cobb</surname>"
+msgstr ""
+
+#. Tag: shortaffil
+#: author_group.xml:53 author_group.xml:60
+#, no-c-format
+msgid "Graphic Design"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:56
+#, no-c-format
+msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:69
+#, no-c-format
+msgid ""
+"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
+"<email>kreimer(a)bbs.frc.utn.edu.ar</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:79
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:83
+#, no-c-format
+msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:87
+#, no-c-format
+msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:91
+#, no-c-format
+msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:95
+#, no-c-format
+msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:99
+#, no-c-format
+msgid ""
+"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
+"othercredit>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:103
+#, no-c-format
+msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:113
+#, no-c-format
+msgid ""
+"<firstname>Alvaro</firstname> <surname>Netto</surname> "
+"<email>alvaronetto(a)cetip.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:118
+#, no-c-format
+msgid ""
+"<firstname>Anderson</firstname> <surname>Braulio</surname> "
+"<email>andersonbraulio(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:123
+#, no-c-format
+msgid ""
+"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
+"<email>danielvc(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:128
+#, no-c-format
+msgid ""
+"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
+"gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:133
+#, no-c-format
+msgid ""
+"<firstname>Gamarra</firstname> <email>mauricio.gamarra(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:137
+#, no-c-format
+msgid ""
+"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
+"<email>luizcarlos_rodrigues(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:142
+#, no-c-format
+msgid ""
+"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
+"castelo(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:147
+#, no-c-format
+msgid ""
+"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:152
+#, no-c-format
+msgid ""
+"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
+"<email>pablolmiranda(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:157
+#, no-c-format
+msgid ""
+"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
+"com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:162
+#, no-c-format
+msgid ""
+"<firstname>Rogério</firstname> <surname>Araújo</surname> "
+"<email>rgildoaraujo(a)yahoo.com.br</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:167
+#, no-c-format
+msgid ""
+"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
+"<email>wandersonxs(a)gmail.com</email>"
+msgstr ""
+
+#. Tag: othercredit
+#: author_group.xml:178
+#, no-c-format
+msgid ""
+"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
+"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
+"contrib> <email>caoxg(a)yahoo.com</email>"
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/zh-CN/content/bibliography.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/zh-CN/content/bibliography.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/zh-CN/content/bibliography.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,68 @@
+# Language zh-CN translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:55+0000\n"
+"PO-Revision-Date: 2009-07-14 19:55+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: bibliography.xml:27
+#, no-c-format
+msgid "References"
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:31
+#, no-c-format
+msgid "Patterns of Enterprise Application Architecture"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:34
+#, no-c-format
+msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:41
+#, no-c-format
+msgid "Pearson Education, Inc."
+msgstr ""
+
+#. Tag: title
+#: bibliography.xml:50
+#, no-c-format
+msgid "Java Persistence with Hibernate"
+msgstr ""
+
+#. Tag: subtitle
+#: bibliography.xml:51
+#, no-c-format
+msgid "Second Edition of Hibernate in Action"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:57
+#, no-c-format
+msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
+msgstr ""
+
+#. Tag: author
+#: bibliography.xml:61
+#, no-c-format
+msgid "<firstname>Gavin</firstname> <surname>King</surname>"
+msgstr ""
+
+#. Tag: holder
+#: bibliography.xml:68
+#, no-c-format
+msgid "Manning Publications Co."
+msgstr ""
Added: core/trunk/documentation/manual/src/main/docbook/zh-CN/content/portability.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/zh-CN/content/portability.po (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/zh-CN/content/portability.po 2009-08-16 16:35:27 UTC (rev 17329)
@@ -0,0 +1,234 @@
+# Language zh-CN translations for PACKAGE package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-07-14 19:56+0000\n"
+"PO-Revision-Date: 2009-07-14 19:56+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: portability.xml:26
+#, no-c-format
+msgid "Database Portability Considerations"
+msgstr ""
+
+#. Tag: title
+#: portability.xml:29
+#, no-c-format
+msgid "Portability Basics"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:31
+#, no-c-format
+msgid ""
+"One of the selling points of Hibernate (and really Object/Relational Mapping "
+"as a whole) is the notion of database portability. This could mean an "
+"internal IT user migrating from one database vendor to another, or it could "
+"mean a framework or deployable application consuming Hibernate to "
+"simultaneously target multiple database products by their users. Regardless "
+"of the exact scenario, the basic idea is that you want Hibernate to help you "
+"run against any number of databases without changes to your code, and "
+"ideally without any changes to the mapping metadata."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:42
+#, no-c-format
+msgid "Dialect"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:44
+#, no-c-format
+msgid ""
+"The first line of portability for Hibernate is the dialect, which is a "
+"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
+"contract. A dialect encapsulates all the differences in how Hibernate must "
+"communicate with a particular database to accomplish some task like getting "
+"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
+"range of dialects for many of the most popular databases. If you find that "
+"your particular database is not among them, it is not terribly difficult to "
+"write your own."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:55
+#, no-c-format
+msgid "Dialect resolution"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:57
+#, no-c-format
+msgid ""
+"Originally, Hibernate would always require that users specify which dialect "
+"to use. In the case of users looking to simultaneously target multiple "
+"databases with their build that was problematic. Generally this required "
+"their users to configure the Hibernate dialect or defining their own method "
+"of setting that value."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:64
+#, no-c-format
+msgid ""
+"Starting with version 3.2, Hibernate introduced the notion of automatically "
+"detecting the dialect to use based on the <interfacename>java.sql."
+"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
+"Connection</interfacename> to that database. This was much better, expect "
+"that this resolution was limited to databases Hibernate know about ahead of "
+"time and was in no way configurable or overrideable."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:72
+#, no-c-format
+msgid ""
+"Starting with version 3.3, Hibernate has a fare more powerful way to "
+"automatically determine which dialect to should be used by relying on a "
+"series of delegates which implement the <interfacename>org.hibernate.dialect."
+"resolver.DialectResolver</interfacename> which defines only a single method:"
+"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData "
+"metaData) throws JDBCConnectionException]]></programlisting>. The basic "
+"contract here is that if the resolver 'understands' the given database "
+"metadata then it returns the corresponding Dialect; if not it returns null "
+"and the process continues to the next resolver. The signature also "
+"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
+"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
+"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
+"problem and is used to indicate an immediate stop to resolution attempts. "
+"All other exceptions result in a warning and continuing on to the next "
+"resolver."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:85
+#, no-c-format
+msgid ""
+"The cool part about these resolvers is that users can also register their "
+"own custom resolvers which will be processed ahead of the built-in Hibernate "
+"ones. This might be useful in a number of different situations: it allows "
+"easy integration for auto-detection of dialects beyond those shipped with "
+"HIbernate itself; it allows you to specify to use a custom dialect when a "
+"particular database is recognized; etc. To register one or more resolvers, "
+"simply specify them (seperated by commas, tabs or spaces) using the "
+"'hibernate.dialect_resolvers' configuration setting (see the "
+"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
+"cfg.Environment</classname>)."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:98
+#, no-c-format
+msgid "Identifier generation"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:100
+#, no-c-format
+msgid ""
+"When considering portability between databases, another important decision "
+"is selecting the identifier generation stratagy you want to use. Originally "
+"Hibernate provided the <emphasis>native</emphasis> generator for this "
+"purpose, which was intended to select between a <emphasis>sequence</"
+"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
+"strategy depending on the capability of the underlying database. However, an "
+"insidious implication of this approach comes about when targtetting some "
+"databases which support <emphasis>identity</emphasis> generation and some "
+"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
+"definition of an IDENTITY (or auto-increment) column to manage the "
+"identifier value; it is what is known as a post-insert generation strategy "
+"becauase the insert must actually happen before we can know the identifier "
+"value. Because Hibernate relies on this identifier value to uniquely "
+"reference entities within a persistence context it must then issue the "
+"insert immediately when the users requests the entitiy be associated with "
+"the session (like via save() e.g.) regardless of current transactional "
+"semantics. <note> <para> Hibernate was changed slightly once the implication "
+"of this was better understood so that the insert is delayed in cases where "
+"that is feasible. </para> </note> The underlying issue is that the actual "
+"semanctics of the application itself changes in these cases."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:125
+#, no-c-format
+msgid ""
+"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
+"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
+"targetting portability in a much different way. <note> <para> There are "
+"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
+"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
+"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
+"listitem> </itemizedlist> </para> </note> The idea behind these generators "
+"is to port the actual semantics of the identifer value generation to the "
+"different databases. For example, the <classname>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
+"databases which do not support sequences by using a table."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:154
+#, no-c-format
+msgid "Database functions"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:157
+#, no-c-format
+msgid ""
+"This is an area in Hibernate in need of improvement. In terms of portability "
+"concerns, this function handling currently works pretty well from HQL; "
+"however, it is quite lacking in all other aspects."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:164
+#, no-c-format
+msgid ""
+"SQL functions can be referenced in many ways by users. However, not all "
+"databases support the same set of functions. Hibernate, provides a means of "
+"mapping a <emphasis>logical</emphasis> function name to a a delegate which "
+"knows how to render that particular function, perhaps even using a totally "
+"different physical function call."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:170
+#, no-c-format
+msgid ""
+"Technically this function registration is handled through the <classname>org."
+"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
+"intended to allow users to provide custom function definitions without "
+"having to provide a custom dialect. This specific behavior is not fully "
+"completed as of yet."
+msgstr ""
+
+#. Tag: para
+#: portability.xml:177
+#, no-c-format
+msgid ""
+"It is sort of implemented such that users can programatically register "
+"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
+"and those functions will be recognized for HQL."
+msgstr ""
+
+#. Tag: title
+#: portability.xml:187
+#, no-c-format
+msgid "Type mappings"
+msgstr ""
+
+#. Tag: para
+#: portability.xml:189
+#, no-c-format
+msgid "This section scheduled for completion at a later date..."
+msgstr ""
15 years, 4 months
Hibernate SVN: r17328 - core/trunk/entitymanager.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2009-08-15 16:54:30 -0400 (Sat, 15 Aug 2009)
New Revision: 17328
Modified:
core/trunk/entitymanager/pom.xml
Log:
set jpa-api and hibernate-commons-annotations versions to use
Modified: core/trunk/entitymanager/pom.xml
===================================================================
--- core/trunk/entitymanager/pom.xml 2009-08-15 20:51:45 UTC (rev 17327)
+++ core/trunk/entitymanager/pom.xml 2009-08-15 20:54:30 UTC (rev 17328)
@@ -84,11 +84,6 @@
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>${version}</version>
</dependency>
15 years, 4 months
Hibernate SVN: r17327 - core/trunk/annotations.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2009-08-15 16:51:45 -0400 (Sat, 15 Aug 2009)
New Revision: 17327
Modified:
core/trunk/annotations/pom.xml
Log:
set jpa-api and hibernate-commons-annotations versions to use
Modified: core/trunk/annotations/pom.xml
===================================================================
--- core/trunk/annotations/pom.xml 2009-08-15 20:49:52 UTC (rev 17326)
+++ core/trunk/annotations/pom.xml 2009-08-15 20:51:45 UTC (rev 17327)
@@ -86,11 +86,6 @@
<dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>3.2.0.Beta1</version>
- </dependency>
- <dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.CR4</version>
15 years, 4 months
Hibernate SVN: r17326 - core/trunk/parent.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2009-08-15 16:49:52 -0400 (Sat, 15 Aug 2009)
New Revision: 17326
Modified:
core/trunk/parent/pom.xml
Log:
set jpa-api and hibernate-commons-annotations versions to use
Modified: core/trunk/parent/pom.xml
===================================================================
--- core/trunk/parent/pom.xml 2009-08-15 20:38:36 UTC (rev 17325)
+++ core/trunk/parent/pom.xml 2009-08-15 20:49:52 UTC (rev 17326)
@@ -377,8 +377,14 @@
<dependency>
<groupId>org.hibernate.java-persistence</groupId>
<artifactId>jpa-api</artifactId>
- <version>2.0.Beta-SNAPSHOT</version>
+ <version>2.0.Beta-20090815</version>
</dependency>
+ <!-- Set the version of the hibernate-commons-annotations to be used throughout the the project -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.2.0.Beta1</version>
+ </dependency>
</dependencies>
</dependencyManagement>
15 years, 4 months
Hibernate SVN: r17325 - core/trunk/annotations.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2009-08-15 16:38:36 -0400 (Sat, 15 Aug 2009)
New Revision: 17325
Modified:
core/trunk/annotations/pom.xml
Log:
moved to separately released hibernate-commons-annotations; moved validation versions to dependencyManagement
Modified: core/trunk/annotations/pom.xml
===================================================================
--- core/trunk/annotations/pom.xml 2009-08-15 20:32:59 UTC (rev 17324)
+++ core/trunk/annotations/pom.xml 2009-08-15 20:38:36 UTC (rev 17325)
@@ -56,7 +56,6 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
- <version>3.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hibernate.java-persistence</groupId>
@@ -75,17 +74,35 @@
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
- <version>1.0.CR4</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
- <version>4.0.0.Beta3</version>
<scope>test</scope>
</dependency>
</dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.2.0.Beta1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>1.0.CR4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>4.0.0.Beta3</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<build>
<testResources>
<testResource>
15 years, 4 months