类org.hibernate.ReplicationMode源码实例Demo

下面列出了怎么用org.hibernate.ReplicationMode的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: ReplicateEvent.java
public ReplicateEvent(String entityName, Object object, ReplicationMode replicationMode, EventSource source) {
	super(source);
	this.entityName = entityName;

	if ( object == null ) {
		throw new IllegalArgumentException(
				"attempt to create replication strategy with null entity"
		);
	}
	if ( replicationMode == null ) {
		throw new IllegalArgumentException(
				"attempt to create replication strategy with null replication mode"
		);
	}

	this.object = object;
	this.replicationMode = replicationMode;
}
 
源代码2 项目: lams   文件: DefaultReplicateEventListener.java
private void cascadeAfterReplicate(
		Object entity,
		EntityPersister persister,
		ReplicationMode replicationMode,
		EventSource source) {
	source.getPersistenceContext().incrementCascadeLevel();
	try {
		Cascade.cascade(
				CascadingActions.REPLICATE,
				CascadePoint.AFTER_UPDATE,
				source,
				persister,
				entity,
				replicationMode
		);
	}
	finally {
		source.getPersistenceContext().decrementCascadeLevel();
	}
}
 
源代码3 项目: cacheonix-core   文件: ReplicateEvent.java
public ReplicateEvent(String entityName, Object object, ReplicationMode replicationMode, EventSource source) {
	super(source);
	this.entityName = entityName;

	if ( object == null ) {
		throw new IllegalArgumentException(
				"attempt to create replication strategy with null entity"
		);
	}
	if ( replicationMode == null ) {
		throw new IllegalArgumentException(
				"attempt to create replication strategy with null replication mode"
		);
	}

	this.object = object;
	this.replicationMode = replicationMode;
}
 
源代码4 项目: spring-analysis-note   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(session -> {
		checkWriteOperationAllowed(session);
		session.replicate(entity, replicationMode);
		return null;
	});
}
 
源代码5 项目: spring-analysis-note   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(session -> {
		checkWriteOperationAllowed(session);
		session.replicate(entityName, entity, replicationMode);
		return null;
	});
}
 
源代码6 项目: java-technology-stack   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(session -> {
		checkWriteOperationAllowed(session);
		session.replicate(entity, replicationMode);
		return null;
	});
}
 
源代码7 项目: java-technology-stack   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(session -> {
		checkWriteOperationAllowed(session);
		session.replicate(entityName, entity, replicationMode);
		return null;
	});
}
 
源代码8 项目: onedev   文件: DefaultPersistManager.java
@Sessional
@Override
public void importData(Metadata metadata, File dataDir) {
	Session session = dao.getSession();
	List<Class<?>> entityTypes = getEntityTypes(sessionFactory);
	Collections.reverse(entityTypes);
	for (Class<?> entityType: entityTypes) {
		File[] dataFiles = dataDir.listFiles(new FilenameFilter() {

			@Override
			public boolean accept(File dir, String name) {
				return name.startsWith(entityType.getSimpleName() + "s.xml");
			}
			
		});
		for (File file: dataFiles) {
			Transaction transaction = session.beginTransaction();
			try {
				logger.info("Importing from data file '" + file.getName() + "'...");
				VersionedXmlDoc dom = VersionedXmlDoc.fromFile(file);
				
				for (Element element: dom.getRootElement().elements()) {
					element.detach();
					AbstractEntity entity = (AbstractEntity) new VersionedXmlDoc(DocumentHelper.createDocument(element)).toBean();
					session.replicate(entity, ReplicationMode.EXCEPTION);
				}
				session.flush();
				session.clear();
				transaction.commit();
			} catch (Exception e) {
				transaction.rollback();
				throw ExceptionUtils.unchecked(e);
			}
		}
	}	
}
 
源代码9 项目: lams   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entity, replicationMode);
			return null;
		}
	});
}
 
源代码10 项目: lams   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entityName, entity, replicationMode);
			return null;
		}
	});
}
 
源代码11 项目: lams   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entity, replicationMode);
			return null;
		}
	});
}
 
源代码12 项目: lams   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entityName, entity, replicationMode);
			return null;
		}
	});
}
 
源代码13 项目: lams   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entity, replicationMode);
			return null;
		}
	});
}
 
源代码14 项目: lams   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entityName, entity, replicationMode);
			return null;
		}
	});
}
 
源代码15 项目: lams   文件: CascadingActions.java
@Override
public void cascade(
		EventSource session,
		Object child,
		String entityName,
		Object anything,
		boolean isCascadeDeleteEnabled)
		throws HibernateException {
	LOG.tracev( "Cascading to replicate: {0}", entityName );
	session.replicate( entityName, child, (ReplicationMode) anything );
}
 
源代码16 项目: lams   文件: DefaultReplicateEventListener.java
private void performReplication(
		Object entity,
		Serializable id,
		Object version,
		EntityPersister persister,
		ReplicationMode replicationMode,
		EventSource source) throws HibernateException {

	if ( LOG.isTraceEnabled() ) {
		LOG.tracev( "Replicating changes to {0}", MessageHelper.infoString( persister, id, source.getFactory() ) );
	}

	new OnReplicateVisitor( source, id, entity, true ).process( entity, persister );

	source.getPersistenceContext().addEntity(
			entity,
			( persister.isMutable() ? Status.MANAGED : Status.READ_ONLY ),
			null,
			source.generateEntityKey( id, persister ),
			version,
			LockMode.NONE,
			true,
			persister,
			true
	);

	cascadeAfterReplicate( entity, persister, replicationMode, source );
}
 
源代码17 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entity, replicationMode);
			return null;
		}
	});
}
 
源代码18 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entityName, entity, replicationMode);
			return null;
		}
	});
}
 
@Test
public void testReplicate() throws HibernateException {
	TestBean tb = new TestBean();
	given(session.getFlushMode()).willReturn(FlushMode.AUTO);
	hibernateTemplate.replicate(tb, ReplicationMode.LATEST_VERSION);
	verify(session).replicate(tb, ReplicationMode.LATEST_VERSION);
	verify(session).flush();
	verify(session).close();
}
 
@Test
public void testReplicateWithEntityName() throws HibernateException {
	TestBean tb = new TestBean();
	given(session.getFlushMode()).willReturn(FlushMode.AUTO);
	hibernateTemplate.replicate("myEntity", tb, ReplicationMode.LATEST_VERSION);
	verify(session).replicate("myEntity", tb, ReplicationMode.LATEST_VERSION);
	verify(session).flush();
	verify(session).close();
}
 
源代码21 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entity, replicationMode);
			return null;
		}
	});
}
 
源代码22 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entityName, entity, replicationMode);
			return null;
		}
	});
}
 
源代码23 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public void replicate(final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entity, replicationMode);
			return null;
		}
	});
}
 
源代码24 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public void replicate(final String entityName, final Object entity, final ReplicationMode replicationMode)
		throws DataAccessException {

	executeWithNativeSession(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(Session session) throws HibernateException {
			checkWriteOperationAllowed(session);
			session.replicate(entityName, entity, replicationMode);
			return null;
		}
	});
}
 
@Test
public void testReplicate()  {
	TestBean tb = new TestBean();
	given(session.getFlushMode()).willReturn(FlushMode.AUTO);
	hibernateTemplate.replicate(tb, ReplicationMode.LATEST_VERSION);
	verify(session).replicate(tb, ReplicationMode.LATEST_VERSION);
}
 
@Test
public void testReplicateWithEntityName()  {
	TestBean tb = new TestBean();
	given(session.getFlushMode()).willReturn(FlushMode.AUTO);
	hibernateTemplate.replicate("myEntity", tb, ReplicationMode.LATEST_VERSION);
	verify(session).replicate("myEntity", tb, ReplicationMode.LATEST_VERSION);
}
 
源代码27 项目: cacheonix-core   文件: CascadingAction.java
public void cascade(EventSource session, Object child, String entityName, Object anything, boolean isCascadeDeleteEnabled)
throws HibernateException {
	if ( log.isTraceEnabled() ) {
		log.trace( "cascading to replicate: " + entityName );
	}
	session.replicate( entityName, child, (ReplicationMode) anything );
}
 
private void performReplication(
		Object entity,
		Serializable id,
		Object version,
		EntityPersister persister,
		ReplicationMode replicationMode,
		EventSource source) throws HibernateException {

	if ( log.isTraceEnabled() ) {
		log.trace(
				"replicating changes to " +
						MessageHelper.infoString( persister, id, source.getFactory() )
		);
	}

	new OnReplicateVisitor( source, id, entity, true ).process( entity, persister );

	source.getPersistenceContext().addEntity(
			entity,
			Status.MANAGED,
			null,
			new EntityKey( id, persister, source.getEntityMode() ),
			version,
			LockMode.NONE,
			true,
			persister,
			true,
			false
	);

	cascadeAfterReplicate( entity, persister, replicationMode, source );
}
 
private void cascadeAfterReplicate(
		Object entity,
		EntityPersister persister,
		ReplicationMode replicationMode,
		EventSource source) {
	source.getPersistenceContext().incrementCascadeLevel();
	try {
		new Cascade( CascadingAction.REPLICATE, Cascade.AFTER_UPDATE, source )
				.cascade( persister, entity, replicationMode );
	}
	finally {
		source.getPersistenceContext().decrementCascadeLevel();
	}
}
 
源代码30 项目: cacheonix-core   文件: ParentChildTest.java
public void testReplicate() throws Exception {
	Session s = openSession();
	Container baz = new Container();
	Contained f = new Contained();
	List list = new ArrayList();
	list.add(baz);
	f.setBag(list);
	List list2 = new ArrayList();
	list2.add(f);
	baz.setBag(list2);
	s.save(f);
	s.save(baz);
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	s.replicate(baz, ReplicationMode.OVERWRITE);
	
	// HHH-2378
	SessionImpl x = (SessionImpl)s;
	EntityEntry entry = x.getPersistenceContext().getEntry( baz );
	assertNull(entry.getVersion());
	
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	s.replicate(baz, ReplicationMode.IGNORE);
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	s.delete(baz);
	s.delete(f);
	s.flush();
	s.connection().commit();
	s.close();
}
 
 类所在包
 类方法
 同包方法