org.hibernate.Transaction#commit ( )源码实例Demo

下面列出了org.hibernate.Transaction#commit ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: kardio   文件: DBQueryUtil.java
/**
 * get CurrentHealth Check Details from DB.
 * 
 * @param componentId
 * @param environmentId
 * @param regionID
 * @param healthCheckType
 * @return
 * @
 */
private static HealthCheckVO getCurrentHealthCheckDetails(final int componentId, final int environmentId,
		final long regionID,final HealthCheckType healthCheckType) {
	Session session = HibernateConfig.getSessionFactory().getCurrentSession();
	Transaction txn = session.beginTransaction();
	Criteria hcCrit = session.createCriteria(HealthCheckEntity.class,"hc");
	hcCrit.add(Restrictions.eq("hc.component.componentId", componentId));
	hcCrit.add(Restrictions.eq("hc.environment.environmentId", environmentId));
	hcCrit.add(Restrictions.eq("hc.region.regionId", regionID));
	if(healthCheckType != null) {
		hcCrit.add(Restrictions.eq("hc.healthCheckType.healthCheckTypeId", healthCheckType.getHealthCheckTypeId()));
	}
	hcCrit.setMaxResults(1);
	HealthCheckEntity hcEnt = (HealthCheckEntity) hcCrit.uniqueResult();
	txn.commit();
	if(hcEnt == null){
		return null;
	}
	HealthCheckVO hcVO = new HealthCheckVO();
	hcVO.setHealthCheckId(hcEnt.getHealthCheckId());
	if(hcEnt.getCurrentStatus() != null){
		hcVO.setCurrentStatus(hcEnt.getCurrentStatus().getStatusId());
	}
	return hcVO;
}
 
源代码2 项目: cacheonix-core   文件: ASTParserLoadingTest.java
public void testAggregation() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Human h = new Human();
	h.setBodyWeight( (float) 74.0 );
	h.setHeight(120.5);
	h.setDescription("Me");
	h.setName( new Name("Gavin", 'A', "King") );
	h.setNickName("Oney");
	s.persist(h);
	Double sum = (Double) s.createQuery("select sum(h.bodyWeight) from Human h").uniqueResult();
	Double avg = (Double) s.createQuery("select avg(h.height) from Human h").uniqueResult();
	assertEquals(sum.floatValue(), 74.0, 0.01);
	assertEquals(avg.doubleValue(), 120.5, 0.01);
	Long id = (Long) s.createQuery("select max(a.id) from Animal a").uniqueResult();
	s.delete(h);
	t.commit();
	s.close();
}
 
源代码3 项目: core   文件: DataDbLogger.java
/**
 * Store just a single object into data. This is slower than batching a few
 * at a time. Should be used when the batching encounters an exception. This
 * way can still store all of the good data from a batch.
 * 
 * @param o
 */
private void processSingleObject(Object objectToBeStored) {
	Session session = null;
	Transaction tx = null;
	try {
		session = sessionFactory.openSession();
		tx = session.beginTransaction();
		logger.debug("Individually saving object {}", objectToBeStored);
		session.save(objectToBeStored);
		tx.commit();
	} catch (HibernateException e) {
		if (tx != null) {
			try {
				tx.rollback();
			} catch (HibernateException e2) {
				logger.error("Error rolling back transaction in "
						+ "processSingleObject(). ", e2);
			}
		}
	} finally {			
		if (session != null)
			session.close();
	}
}
 
源代码4 项目: Project   文件: CRUDTest.java
@Test
public void addTest(){
    Configuration configuration = new Configuration();
    configuration.configure();

    SessionFactory sessionFactory = configuration.buildSessionFactory();
    Session session = sessionFactory.openSession();

    Transaction transaction = session.beginTransaction();

    User user = new User();
    user.setUsername("GJXAIOU");
    user.setPassword("GJXAIOU");
    user.setAddress("江苏");
    session.save(user);

    transaction.commit();

    session.close();
    sessionFactory.close();
}
 
源代码5 项目: cacheonix-core   文件: MasterDetailTest.java
public void testSelfManyToOne() throws Exception {

		//if (dialect instanceof HSQLDialect) return;

		Session s = openSession();
		Transaction t = s.beginTransaction();
		Master m = new Master();
		m.setOtherMaster(m);
		s.save(m);
		t.commit();
		s.close();
		s = openSession();
		t = s.beginTransaction();
		Iterator i = s.iterate("from Master");
		m = (Master) i.next();
		assertTrue( m.getOtherMaster()==m );
		if (getDialect() instanceof HSQLDialect) { m.setOtherMaster(null); s.flush(); }
		s.delete(m);
		t.commit();
		s.close();
	}
 
源代码6 项目: Knowage-Server   文件: I18NMessagesDAOHibImpl.java
@Override
public void updateNonDefaultI18NMessagesLabel(SbiI18NMessages oldMessage, SbiI18NMessages newMessage) {
	logger.debug("IN");
	Session session = null;
	Transaction tx = null;
	try {
		session = getSession();
		tx = session.beginTransaction();
		String tenant = getTenant();
		List<SbiI18NMessages> messages = getSbiI18NMessagesByLabel(oldMessage, tenant, session);
		Iterator<SbiI18NMessages> it = messages.iterator();
		while (it.hasNext()) {
			SbiI18NMessages toModify = it.next();
			toModify.setLabel(newMessage.getLabel());
			updateSbiCommonInfo4Update(toModify);
			session.update(toModify);
			session.flush();
		}
		tx.commit();
	} catch (HibernateException e) {
		logException(e);
		if (tx != null)
			tx.rollback();
		throw new RuntimeException();
	} finally {
		if (session != null) {
			if (session.isOpen())
				session.close();
		}
	}
	logger.debug("OUT");
}
 
源代码7 项目: stepic_java_webserver   文件: DBService.java
public long addUser(String name) throws DBException {
    try {
        Session session = sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        UsersDAO dao = new UsersDAO(session);
        long id = dao.insertUser(name);
        transaction.commit();
        session.close();
        return id;
    } catch (HibernateException e) {
        throw new DBException(e);
    }
}
 
源代码8 项目: journaldev   文件: UserDAOImpl.java
@Override
public User getUserByCredentials(String userId, String password) {
	Session session = sf.openSession();
	Transaction tx = session.beginTransaction();
	Query query = session.createQuery("from User where id=:id and pwd=:pwd");
	query.setString("id", userId); query.setString("pwd", password);
	User user = (User) query.uniqueResult();
	if(user != null){
		System.out.println("User Retrieved from DB::"+user);
	}
	tx.commit();session.close();
	return user;
}
 
@Transactional
@Override
public void setCustomerProfile(CustomerAccount account) {
	Session session = this.sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();

	session.persist(account);
	transaction.commit();
	session.close();


}
 
源代码10 项目: Knowage-Server   文件: ObjTemplateDAOHibImpl.java
@Override
public ObjTemplate getBIObjectActiveTemplate(Integer biobjId) throws EMFInternalError {
	ObjTemplate objTemp = new ObjTemplate();
	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		// String hql = "from SbiObjTemplates sot where sot.active=true and sot.sbiObject.biobjId="+biobjId;
		String hql = "from SbiObjTemplates sot where sot.active=? and sot.sbiObject.biobjId=? and sot.commonInfo.organization = ?";

		Query query = aSession.createQuery(hql);
		query.setBoolean(0, true);
		query.setInteger(1, biobjId.intValue());
		query.setString(2, getTenant());
		SbiObjTemplates hibObjTemp = (SbiObjTemplates) query.uniqueResult();
		if (hibObjTemp == null) {
			objTemp = null;
		} else {
			objTemp = toObjTemplate(hibObjTemp);
		}
		tx.commit();
	} catch (HibernateException he) {
		logException(he);
		if (tx != null)
			tx.rollback();
		throw new EMFInternalError(EMFErrorSeverity.ERROR, "100");
	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
	return objTemp;
}
 
源代码11 项目: cacheonix-core   文件: UnionSubclassTest.java
public void testUnionSubclassFetchMode() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Location mel = new Location("Earth");
	s.save(mel);
	
	Human gavin = new Human();
	gavin.setIdentity("gavin");
	gavin.setSex('M');
	gavin.setLocation(mel);
	mel.addBeing(gavin);
	Human max = new Human();
	max.setIdentity("max");
	max.setSex('M');
	max.setLocation(mel);
	mel.addBeing(gavin);
	
	s.flush();
	s.clear();
	
	List list = s.createCriteria(Human.class)
		.setFetchMode("location", FetchMode.JOIN)
		.setFetchMode("location.beings", FetchMode.JOIN)
		.list();
	
	for (int i=0; i<list.size(); i++ ) {
		Human h = (Human) list.get(i);
		assertTrue( Hibernate.isInitialized( h.getLocation() ) );
		assertTrue( Hibernate.isInitialized( h.getLocation().getBeings() ) );
		s.delete(h);
	}
	s.delete( s.get( Location.class, new Long(mel.getId()) ) );
	t.commit();
	s.close();
	
	
}
 
@Override
public List loadMetaModelParviewsFather(Integer metaModelParId) {
	List<MetaModelParview> toReturn = new ArrayList();
	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		String hql = "from SbiMetaModelParview s where s.sbiMetaModelFather.metaModelParId = ? order by s.prog";
		Query hqlQuery = aSession.createQuery(hql);
		hqlQuery.setInteger(0, metaModelParId.intValue());
		List sbiMetaModelParviews = hqlQuery.list();
		Iterator it = sbiMetaModelParviews.iterator();
		while (it.hasNext()) {
			toReturn.add(toMetaModelParview((SbiMetaModelParview) it.next()));
		}
		tx.commit();
	} catch (HibernateException he) {
		logException(he);
		if (tx != null)
			tx.rollback();
		throw new HibernateException(he.getLocalizedMessage(), he);
	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
	return toReturn;
}
 
源代码13 项目: kardio   文件: DBQueryUtil.java
/**
 * Function to execute a delete statement..
 * 
 * @param query
 */
public static void executeDelete(String query) {
	Session session = HibernateConfig.getSessionFactory().getCurrentSession();
	Transaction txn = session.beginTransaction();
	session.createSQLQuery(query).executeUpdate();
	txn.commit();
}
 
/**
 * Insert map features.
 * 
 * @param aMapFeature the a map feature
 * 
 * @throws EMFUserError the EMF user error
 * 
 * @see it.eng.spagobi.mapcatalogue.dao.geo.bo.dao.ISbiGeoMapFeaturesDAO#insertMapFeatures(it.eng.spagobi.geo.bo.SbiGeoMapFeatures)
 */
public void insertMapFeatures(GeoMapFeature aMapFeature) throws EMFUserError {
	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		SbiGeoMapFeatures hibMapFeature = new SbiGeoMapFeatures();	
		
		SbiGeoMapFeaturesId hibMapFeatureId = new SbiGeoMapFeaturesId();			
		hibMapFeatureId.setMapId(aMapFeature.getMapId());
		hibMapFeatureId.setFeatureId(aMapFeature.getFeatureId());
		hibMapFeature.setId(hibMapFeatureId);
		
		hibMapFeature.setSvgGroup(aMapFeature.getSvgGroup());
		hibMapFeature.setVisibleFlag(aMapFeature.getVisibleFlag());
		updateSbiCommonInfo4Insert(hibMapFeature);
		aSession.save(hibMapFeature);
		tx.commit();
	} catch (HibernateException he) {
		logException(he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {			
		if (aSession!=null){
			if (aSession.isOpen()) aSession.close();
		}			
	}
}
 
源代码15 项目: Knowage-Server   文件: SbiUserDAOHibImpl.java
/**
 * Get value of failed login attemtpts counter from DB.
 *
 * @author Marco Libanori
 */
@Override
public int getFailedLoginAttempts(String userId) {
	logger.debug("IN");

	Session aSession = null;
	Transaction tx = null;
	try {

		Integer result = 0;

		if (isUserIdAlreadyInUse(userId) != null) {

			aSession = getSession();
			tx = aSession.beginTransaction();

			ProjectionList projList = Projections.projectionList().add(Projections.property("failedLoginAttempts"), "failedLoginAttempts");

			SimpleExpression eq = Restrictions.eq("userId", userId);

			result = (Integer) aSession.createCriteria(SbiUser.class).add(eq).setProjection(projList).uniqueResult();

			tx.commit();
		}

		return result;
	} catch (HibernateException he) {
		if (tx != null)
			tx.rollback();
		throw new SpagoBIDAOException("Error while reading failed login attempts counter for user " + userId, he);
	} finally {
		logger.debug("OUT");
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
}
 
源代码16 项目: Knowage-Server   文件: SbiNewsReadDAOImpl.java
@Override
public Integer insertNewsRead(Integer id, UserProfile profile) {

	Session session = null;
	Transaction transaction = null;
	SbiNews sbiNews;

	try {

		if (getNewsReadByIdAndUser(id, String.valueOf(profile.getUserId())) != null) {
			throw new SpagoBIRuntimeException("The message is alredy read");
		}

		SbiNewsDAOImpl newsDAO = new SbiNewsDAOImpl();
		sbiNews = newsDAO.getSbiNewsById(id, profile);

		if (sbiNews.getId() != null) {

			if (UserUtilities.isTechnicalUser(profile) || newsDAO.getAvailableNews(sbiNews, profile) != null) {

				session = getSession();
				transaction = session.beginTransaction();

				SbiNewsRead newsRead = new SbiNewsRead();
				newsRead.setUser(String.valueOf(profile.getUserId()));
				newsRead.setNewsId(id);

				updateSbiCommonInfo4Insert(newsRead);
				session.save(newsRead);
				transaction.commit();

			} else {
				throw new SpagoBIRuntimeException("You are not allowed to get this news");
			}

		} else {

			throw new SpagoBIRuntimeException("An error has occured while getting news by id!");
		}

	} catch (HibernateException e) {
		if (transaction != null)
			transaction.rollback();
		throw new SpagoBIRuntimeException("Cannot insert", e);

	} finally {
		if (session != null && session.isOpen())
			session.close();
	}

	logger.debug("OUT");
	return id;
}
 
源代码17 项目: unitime   文件: ExamDistributionPrefsAction.java
/**
  * Delete distribution pref
  * @param distPrefId
  */
 private void doDelete(HttpServletRequest request, String distPrefId) {
     Transaction tx = null;
     
     sessionContext.checkPermission(distPrefId, "DistributionPref", Right.ExaminationDistributionPreferenceDelete);

     try {
         
      DistributionPrefDAO dpDao = new DistributionPrefDAO();
      org.hibernate.Session hibSession = dpDao.getSession();
      tx = hibSession.getTransaction();
      if (tx==null || !tx.isActive())
          tx = hibSession.beginTransaction();
      
         HashSet relatedExams = new HashSet();
      DistributionPref dp = dpDao.get(new Long(distPrefId));
      PreferenceGroup owner = (PreferenceGroup) dp.getOwner();
      owner.getPreferences().remove(dp);
for (Iterator i=dp.getDistributionObjects().iterator();i.hasNext();) {
	DistributionObject dObj = (DistributionObject)i.next();
	PreferenceGroup pg = dObj.getPrefGroup();
	relatedExams.add(pg);
	pg.getDistributionObjects().remove(dObj);
	hibSession.saveOrUpdate(pg);
}
      
      hibSession.delete(dp);
      hibSession.saveOrUpdate(owner);
      
         for (Iterator i=relatedExams.iterator();i.hasNext();) {
             Exam exam = (Exam)i.next();
             ChangeLog.addChange(
                     hibSession, 
                     sessionContext, 
                     exam, 
                     ChangeLog.Source.DIST_PREF_EDIT,
                     ChangeLog.Operation.DELETE,
                     exam.firstSubjectArea(), 
                     exam.firstDepartment());
         }

         if (tx!=null && tx.isActive()) 
          tx.commit();
      
      hibSession.flush();
      hibSession.refresh(owner);
     }
     catch (Exception e) {
         Debug.error(e);
         if (tx!=null && tx.isActive()) 
             tx.rollback();
     }
 }
 
源代码18 项目: Knowage-Server   文件: ProgressThreadDAOImpl.java
@Override
public List<ProgressThread> loadNotClosedProgressThreadsByUserId(String userId) throws EMFUserError {
	// logger.debug("IN");
	List<ProgressThread> toReturn = null;

	Session aSession = null;
	Transaction tx = null;

	try {
		aSession = getSession();
		tx = aSession.beginTransaction();

		Query hibPT = aSession.createQuery("from SbiProgressThread h where h.userId = ? AND h.status != 'CLOSED'");
		hibPT.setString(0, userId);

		List sbiProgressThreadList = hibPT.list();
		if (sbiProgressThreadList != null) {
			toReturn = new ArrayList<ProgressThread>();
			for (Iterator iterator = sbiProgressThreadList.iterator(); iterator.hasNext();) {
				SbiProgressThread sbiPT = (SbiProgressThread) iterator.next();
				ProgressThread pT = toProgressThread(sbiPT);
				toReturn.add(pT);
			}
		}

		tx.commit();

	} catch (HibernateException he) {
		logger.error("Error while loading Progress Threads with userId" + userId + " and status NOT CLOSED", he);
		if (tx != null)
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
			// logger.debug("OUT");
		}
	}
	// logger.debug("OUT");
	return toReturn;
}
 
源代码19 项目: Knowage-Server   文件: EngineDAOHibImpl.java
@Override
public List<Engine> loadAllEnginesForBIObjectTypeAndTenant(String biobjectType) throws EMFUserError {
	logger.debug("IN");
	Session aSession = null;
	Transaction tx = null;

	logger.debug("BiObject Type is " + biobjectType);
	Set<String> addedEngines = new HashSet<String>();
	List<Engine> realResult = new ArrayList<Engine>();
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();

		Query hibQueryProd = aSession.createQuery("select opt.sbiProductType from SbiOrganizationProductType opt "
				+ "where opt.sbiOrganizations.name = :tenant ");
		hibQueryProd.setString("tenant", getTenant());

		List hibListProd = hibQueryProd.list();
		Iterator productIt = hibListProd.iterator();

		while (productIt.hasNext()) {
			SbiProductType productType = (SbiProductType) productIt.next();

			Query hibQueryEng = aSession.createQuery("select pte.sbiEngines from SbiProductTypeEngine pte "
					+ "where pte.sbiProductType.label = :productType " + "and pte.sbiEngines.biobjType.valueCd = :biobjectType");

			hibQueryEng.setString("productType", productType.getLabel());
			hibQueryEng.setString("biobjectType", biobjectType);

			List hibListEngine = hibQueryEng.list();
			Iterator engineIt = hibListEngine.iterator();
			while (engineIt.hasNext()) {
				SbiEngines sbiEngine = (SbiEngines) engineIt.next();
				if (addedEngines.add(sbiEngine.getLabel())) {
					realResult.add(toEngine(sbiEngine));
				}
			}
		}
		tx.commit();
	} catch (HibernateException he) {
		logger.debug("Error in loading ecgines for biObject Type " + biobjectType, he);
		logException(he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
	if (realResult.isEmpty()) {
		logger.debug("No engines was found.");
	}
	logger.debug("OUT");
	return realResult;
}
 
源代码20 项目: cacheonix-core   文件: ParentChildTest.java
public void testManyToMany() throws Exception {

		Session s = openSession();
		Transaction t = s.beginTransaction();
		Container c = new Container();
		c.setManyToMany( new ArrayList() );
		c.setBag( new ArrayList() );
		Simple s1 = new Simple();
		Simple s2 = new Simple();
		s1.setCount(123); s2.setCount(654);
		Contained c1 = new Contained();
		c1.setBag( new ArrayList() );
		c1.getBag().add(c);
		c.getBag().add(c1);
		c.getManyToMany().add(s1);
		c.getManyToMany().add(s2);
		Serializable cid = s.save(c); //s.save(c1);
		s.save(s1, new Long(12) ); s.save(s2, new Long(-1) );
		t.commit();
		s.close();

		s = openSession();
		t = s.beginTransaction();
		c = (Container) s.load(Container.class, cid);
		assertTrue( c.getBag().size()==1 );
		assertTrue( c.getManyToMany().size()==2 );
		c1 = (Contained) c.getBag().iterator().next();
		assertTrue( c.getBag().size()==1 );
		c.getBag().remove(c1);
		c1.getBag().remove(c);
		assertTrue( c.getManyToMany().remove(0)!=null );
		t.commit();
		s.close();

		s = openSession();
		t = s.beginTransaction();
		c = (Container) s.load(Container.class, cid);
		assertTrue( c.getBag().size()==0 );
		assertTrue( c.getManyToMany().size()==1 );
		c1 = (Contained) s.load( Contained.class, new Long(c1.getId()) );
		assertTrue( c1.getBag().size()==0 );
		assertTrue( s.delete("from ContainerX c")==1 );
		assertTrue( s.delete("from Contained")==1 );
		assertTrue( s.delete("from Simple")==2 );
		t.commit();
		s.close();
	}