HIbernate学习

HIbernate分页
如果你需要指定结果集的范围(希望返回的最大行数/或开始的行数),应该使用Query接口提供的方法:

Query q = sess.createQuery("from DomesticCat cat");
q.setFirstResult(20);
q.setMaxResults(10);
List cats = q.list();

Hibernate在两个不同数据库间复制对象
偶尔会用到不重新生成持久化标识(identifier),将持久实例以及其关联的实例持久到不同的数据库中的操作。

//retrieve a cat from one database
Session session1 = factory1.openSession();
Transaction tx1 = session1.beginTransaction();
Cat cat = session1.get(Cat.class, catId);
tx1.commit();
session1.close();

//reconcile with a second database
Session session2 = factory2.openSession();
Transaction tx2 = session2.beginTransaction();
session2.replicate(cat, ReplicationMode.LATEST_VERSION);
tx2.commit();
session2.close();
ReplicationMode决定在和数据库中已存在记录由冲突时,replicate()如何处理。

ReplicationMode.IGNORE - 忽略它

ReplicationMode.OVERWRITE - 覆盖相同的行

ReplicationMode.EXCEPTION - 抛出异常

ReplicationMode.LATEST_VERSION - 如果当前的版本较新,则覆盖,否则忽略


你可能感兴趣的:(Hibernate)