类org.hibernate.Transaction源码实例Demo

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

源代码1 项目: ALLGO   文件: EventDAOimpl.java
@Override
public boolean unfollow(int eid, int uid) {
	boolean flag = false ;
	try{
		EventFollowerVo pk = new EventFollowerVo();
		pk.setEid(eid);
		pk.setUid(uid);
		Session s = HibernateSessionFactory.getSession();
		Transaction t = s.beginTransaction();
		EventFollowerVo vo = (EventFollowerVo) s.load(EventFollowerVo.class, pk);
		s.delete(vo);
		t.commit();
		s.close();
		flag = true;
   }catch(Exception e){
	   	e.printStackTrace();
   }
	return flag;
}
 
源代码2 项目: hibernate-master-class   文件: AbstractTest.java
protected <T> T doInJDBC(ConnectionCallable<T> callable) {
    AtomicReference<T> result = new AtomicReference<>();
    Session session = null;
    Transaction txn = null;
    try {
        session = getSessionFactory().openSession();
        txn = session.beginTransaction();
        session.doWork(connection -> {
            result.set(callable.execute(connection));
        });
        txn.commit();
    } catch (RuntimeException e) {
        if ( txn != null && txn.isActive() ) txn.rollback();
        throw e;
    } finally {
        if (session != null) {
            session.close();
        }
    }
    return result.get();
}
 
源代码3 项目: unitime   文件: LogCleaner.java
public static void cleanupHashedQueries(int days) {
	if (days < 0) return;
	org.hibernate.Session hibSession = new _RootDAO().createNewSession();
	Transaction tx = null;
	try {
		tx = hibSession.beginTransaction();
		int rows = hibSession.createQuery(
				"delete from HashedQuery where lastUsed < " + HibernateUtil.addDate("current_date()", ":days")
				).setInteger("days", - days).executeUpdate();
		if (rows > 0)
			sLog.info("All records not used for more than " + days + " days deleted from the hashed queries (" + rows + " records).");
		tx.commit();
	} catch (Throwable t) {
		sLog.warn("Failed to cleanup student sectioning queue: " + t.getMessage(), t);
		if (tx != null) tx.rollback();
	} finally {
		hibSession.close();
	}
}
 
源代码4 项目: ignite   文件: CacheHibernateBlobStoreSelfTest.java
/** {@inheritDoc} */
@Override protected void afterTest() throws Exception {
    super.afterTest();

    Session s = store.session(null);

    if (s == null)
        return;

    try {
        s.createQuery("delete from " + CacheHibernateBlobStoreEntry.class.getSimpleName())
                .setFlushMode(FlushMode.ALWAYS).executeUpdate();

        Transaction hTx = s.getTransaction();

        if (hTx != null && hTx.isActive())
            hTx.commit();
    }
    finally {
        s.close();
    }
}
 
源代码5 项目: ignite   文件: CacheHibernateBlobStoreSelfTest.java
/** {@inheritDoc} */
@Override protected void afterTest() throws Exception {
    super.afterTest();

    Session s = store.session(null);

    if (s == null)
        return;

    try {
        s.createQuery("delete from " + CacheHibernateBlobStoreEntry.class.getSimpleName())
                .setFlushMode(FlushMode.ALWAYS).executeUpdate();

        Transaction hTx = s.getTransaction();

        if (hTx != null && hTx.getStatus() == TransactionStatus.ACTIVE)
            hTx.commit();
    }
    finally {
        s.close();
    }
}
 
源代码6 项目: kardio   文件: DBQueryUtil.java
/**
 * Get the current number of container from k8s_pods_containers
 * @param envId
 * @param platform
 * @return
 */
public static Map<String, Integer> getK8sCurrContainerDetails(int envId, String platform) {
	final java.sql.Date todayDate = new java.sql.Date(Calendar.getInstance().getTimeInMillis());;
	Session session = HibernateConfig.getSessionFactory().getCurrentSession();
	Transaction txn = session.beginTransaction();
	Criteria contCriteria = session.createCriteria(K8sPodsContainersEntity.class, "contSts");
	contCriteria.add(Restrictions.eq("contSts.statusDate", todayDate ));
	contCriteria.add(Restrictions.eq("contSts.environment.environmentId", envId));
	@SuppressWarnings("unchecked")
	List<K8sPodsContainersEntity> contEntityList = contCriteria.list();
	Map<String, Integer> mapContSts = new HashMap<String, Integer>();
	for(K8sPodsContainersEntity contStsEntity : contEntityList){
		if(contStsEntity.getComponent() != null && contStsEntity.getComponent().getParentComponent() != null){
			String fullAppName = contStsEntity.getComponent().getParentComponent().getComponentName() + "/" + contStsEntity.getComponent().getComponentName();
			mapContSts.put(fullAppName, contStsEntity.getTotalContainers());
	    }else if(contStsEntity.getComponent() != null){
	    	mapContSts.put(contStsEntity.getComponent().getComponentName(), contStsEntity.getTotalContainers());
	    }
    }
	txn.commit();
	return mapContSts;
}
 
源代码7 项目: Knowage-Server   文件: SbiAttributeDAOHibImpl.java
@Override
public void deleteSbiAttributeById(Integer id) throws EMFUserError {
	logger.debug("IN");

	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		SbiAttribute attrToDelete = (SbiAttribute) aSession.load(SbiAttribute.class, id);
		aSession.delete(attrToDelete);
		tx.commit();
	} catch (HibernateException he) {
		logger.error(he.getMessage(), he);
		if (tx != null)
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		logger.debug("OUT");
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}

}
 
源代码8 项目: kardio   文件: DBQueryUtil.java
/**
 * Load the Pods&Containers of the objects other than Deployment
 * @param environmentId
 * @param objName
 * @param podContList
 */
public static void loadK8sObjectPods(int environmentId, String objName, ArrayList<Integer> podContList) {
	final java.sql.Date todayDate = new java.sql.Date(Calendar.getInstance().getTimeInMillis());;
	Session session = HibernateConfig.getSessionFactory().getCurrentSession();
	Transaction txn = session.beginTransaction();
	K8sObjectPodsEntity contStat = new K8sObjectPodsEntity();
	EnvironmentEntity environment = new EnvironmentEntity();
	environment.setEnvironmentId(environmentId);
	contStat.setEnvironment(environment);
	contStat.setStatusDate(todayDate);
	contStat.setObjectName(objName);
	contStat.setPods(podContList.get(0));
	contStat.setContainers(podContList.get(1));
	//contStat.setDeltaValue(deltaVal);
	session.save(contStat);
	txn.commit();
}
 
源代码9 项目: cacheonix-core   文件: FumTest.java
public void testListIdentifiers() throws Exception {
	Session s = openSession();
	Transaction txn = s.beginTransaction();
	Fum fum = new Fum( fumKey("fum") );
	fum.setFum("fo fee fi");
	s.save(fum);
	fum = new Fum( fumKey("fi") );
	fum.setFum("fee fi fo");
	s.save(fum);
	List list = s.find("select fum.id from Fum as fum where not fum.fum='FRIEND'");
	assertTrue( "list identifiers", list.size()==2);
	Iterator iter = s.iterate("select fum.id from Fum fum where not fum.fum='FRIEND'");
	int i=0;
	while ( iter.hasNext() ) {
		assertTrue( "iterate identifiers",  iter.next() instanceof FumCompositeID);
		i++;
	}
	assertTrue(i==2);

	s.delete( s.load(Fum.class, (Serializable) list.get(0) ) );
	s.delete( s.load(Fum.class, (Serializable) list.get(1) ) );
	txn.commit();
	s.close();
}
 
/**
 * clean
 */
private void clean(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, DatabaseException,
		PrincipalAdapterException {
	log.debug("clean({}, {})", new Object[]{request, response});
	org.hibernate.Session dbSession = null;
	Transaction tx = null;

	try {
		dbSession = HibernateUtil.getSessionFactory().openSession();
		tx = dbSession.beginTransaction();
		String qs = "delete from DatabaseMetadataValue dmv where dmv.table='group'";
		Query q = dbSession.createQuery(qs);
		q.executeUpdate();
		HibernateUtil.commit(tx);
	} catch (HibernateException e) {
		HibernateUtil.rollback(tx);
		throw new DatabaseException(e.getMessage(), e);
	} finally {
		HibernateUtil.close(dbSession);
	}

	log.debug("clean: void");
}
 
源代码11 项目: Knowage-Server   文件: TenantsDAOHibImpl.java
@Override
public List<Integer> loadSelectedProductTypesIds(String tenant) throws EMFUserError {
	logger.debug("IN");
	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		Query hibQuery = aSession
				.createQuery("select p.sbiProductType.productTypeId from SbiOrganizationProductType p where p.sbiOrganizations.name = :tenantName");
		hibQuery.setString("tenantName", tenant);
		ArrayList<Integer> result = (ArrayList<Integer>) hibQuery.list();
		return result;
	} catch (HibernateException he) {
		logger.error(he.getMessage(), he);
		if (tx != null)
			tx.rollback();
		throw new SpagoBIRuntimeException("Error getting Tenant Product Types", he);
	} finally {
		logger.debug("OUT");
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
}
 
源代码12 项目: tutorials   文件: HibernateExceptionUnitTest.java
@Test
public void whenDeletingADeletedObject_thenOptimisticLockException() {
    thrown.expect(isA(OptimisticLockException.class));
    thrown.expectMessage(
        "Batch update returned unexpected row count from update");
    thrown.expectCause(isA(StaleStateException.class));

    Session session = null;
    Transaction transaction = null;

    try {
        session = sessionFactory.openSession();
        transaction = session.beginTransaction();

        Product product1 = new Product();
        product1.setId(12);
        product1.setName("Product 12");
        session.save(product1);
        transaction.commit();
        session.close();

        session = sessionFactory.openSession();
        transaction = session.beginTransaction();
        Product product2 = session.get(Product.class, 12);
        session.createNativeQuery("delete from Product where id=12")
            .executeUpdate();
        // We need to refresh to fix the error.
        // session.refresh(product2);
        session.delete(product2);
        transaction.commit();
    } catch (Exception e) {
        rollbackTransactionQuietly(transaction);
        throw (e);
    } finally {
        closeSessionQuietly(session);
    }
}
 
@Override
public SbiMetaDocTabRel loadDocIdandTableId(Integer documentId, Integer tableId) throws EMFUserError {

	logger.debug("IN");

	SbiMetaDocTabRel toReturn = null;
	Session tmpSession = null;
	Transaction tx = null;

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

		// Criterion labelCriterrion1 = Expression.eq("datasetId",
		// datasetId);
		// Criterion labelCriterrion2 = Expression.eq("tableId", tableId);
		List<SbiMetaDocTabRel> relations = tmpSession.createCriteria(SbiMetaDocTabRel.class).add(Restrictions.eq("documentId", documentId))
				.add(Restrictions.eq("tableId", tableId)).list();
		toReturn = relations.get(0);
		if (toReturn == null)
			return null;
		tx.commit();

	} catch (HibernateException he) {
		logException(he);
		if (tx != null)
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		if (tmpSession != null) {
			if (tmpSession.isOpen())
				tmpSession.close();
		}
	}

	logger.debug("OUT");
	return toReturn;

}
 
源代码14 项目: Hi-WAY   文件: HiwayDB.java
public HiwayDB(String username, String password, String dbURL) {
	this.username = username;
	this.password = password;
	this.dbURL = dbURL;
	this.wfName = "";
	this.runIDat = "";

	this.config = "nix";

	dbSessionFactory = getSQLSession();
	dbSessionFactoryMessung = getSQLSessionMessung();

	Session session = dbSessionFactory.openSession();
	Transaction tx = null;

	try {
		tx = session.beginTransaction();

		dbVolume = (long) session.createCriteria(Workflowrun.class).setProjection(Projections.rowCount()).uniqueResult();

		tx.commit();
	} catch (RuntimeException e) {
		if (tx != null)
			tx.rollback();
		throw e; // or display error message
	} finally {
		if (session.isOpen()) {
			session.close();
		}

	}

}
 
源代码15 项目: Knowage-Server   文件: OutputParameterDAOImpl.java
@Override
public void removeParameter(Integer id) throws EMFUserError {

	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();

		removeParameter(id, aSession);

		// commit all changes
		tx.commit();
	} catch (HibernateException he) {
		if (tx != null && tx.isActive())
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} catch (Exception ex) {
		if (tx != null && tx.isActive())
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
}
 
@Test
public void testLoadSnomedCt() throws Exception {
    ourLog.info("TEST = testLoadSnomedCt()");
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ZipOutputStream zos = new ZipOutputStream(bos);
    addEntry(zos, "/sct/", "sct2_Concept_Full_INT_20160131.txt");
    addEntry(zos, "/sct/", "sct2_Concept_Full-en_INT_20160131.txt");
    addEntry(zos, "/sct/", "sct2_Description_Full-en_INT_20160131.txt");
    addEntry(zos, "/sct/", "sct2_Identifier_Full_INT_20160131.txt");
    addEntry(zos, "/sct/", "sct2_Relationship_Full_INT_20160131.txt");
    addEntry(zos, "/sct/", "sct2_StatedRelationship_Full_INT_20160131.txt");
    addEntry(zos, "/sct/", "sct2_TextDefinition_Full-en_INT_20160131.txt");
    zos.close();

    ourLog.info("ZIP file has {} bytes", bos.toByteArray().length);

    RequestDetails details = mock(RequestDetails.class);
    when(codeSvc.findBySystem(CareConnectSystem.SNOMEDCT)).thenReturn(new CodeSystemEntity());
    when(codeSvc.getSession()).thenReturn(mock(Session.class));
    when(codeSvc.getTransaction(any())).thenReturn(mock(Transaction.class));

    mySvc.loadSnomedCt(list(bos.toByteArray()), details);

    verify(codeSvc).storeNewCodeSystemVersion( myCsvCaptor.capture(), any(RequestDetails.class));

    CodeSystemEntity csv = myCsvCaptor.getValue();
    TreeSet<String> allCodes = toCodes(csv, true);
    ourLog.info("TEST = testLoadSnomedCt() withChildren = " + allCodes.toString());

    assertThat(allCodes, hasItem("116680003"));
  //  assertThat(allCodes, not(containsInAnyOrder("207527008")));

    allCodes = toCodes(csv, false);
    ourLog.info("TEST = testLoadSnomedCt() noChildren = " +allCodes.toString());
    assertThat(allCodes, hasItem("126813005"));
}
 
源代码17 项目: cacheonix-core   文件: JoinedSubclassTest.java
public void testQuerySubclassAttribute() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Person p = new Person();
	p.setName("Emmanuel");
	p.setSex('M');
	s.persist(p);
	Employee q = new Employee();
	q.setName("Steve");
	q.setSex('M');
	q.setTitle("Mr");
	q.setSalary( new BigDecimal(1000) );
	s.persist(q);

	List result = s.createQuery("from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	result = s.createQuery("from Person where salary > 100 or name like 'E%'").list();
	assertEquals( result.size(), 2 );

	result = s.createCriteria(Person.class)
		.add( Property.forName("salary").gt( new BigDecimal(100) ) )
		.list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	//TODO: make this work:
	/*result = s.createQuery("select salary from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertEquals( result.get(0), new BigDecimal(1000) );*/

	s.delete(p);
	s.delete(q);
	t.commit();
	s.close();
}
 
源代码18 项目: cacheonix-core   文件: CompositeIdTest.java
public void testQuery() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	s.createQuery("from LineItem ol where ol.order.id.customerId = 'C111'").list();
	t.commit();
	s.close();
}
 
源代码19 项目: cacheonix-core   文件: QueryByExampleTest.java
private void initData() throws Exception {
    Session s = openSession();
    Transaction t = s.beginTransaction();
    Componentizable master = getMaster("hibernate", "ORM tool", "ORM tool1");
    s.saveOrUpdate(master);
    master = getMaster("hibernate", "open source", "open source1");
    s.saveOrUpdate(master);
    master = getMaster("hibernate", null, null);
    s.saveOrUpdate(master);
    t.commit();
    s.close();
}
 
源代码20 项目: tp_java_2015_02   文件: DBServiceImpl.java
public void save(UserDataSet dataSet) {
    Session session = sessionFactory.openSession();
    Transaction transaction = session.beginTransaction();
    UserDataSetDAO dao = new UserDataSetDAO(session);
    dao.save(dataSet);
    transaction.commit();
}
 
源代码21 项目: modeldb   文件: DatasetDAORdbImpl.java
@Override
public Dataset addDatasetTags(String datasetId, List<String> tagsList)
    throws InvalidProtocolBufferException {
  try (Session session = ModelDBHibernateUtil.getSessionFactory().openSession()) {
    DatasetEntity datasetObj = session.get(DatasetEntity.class, datasetId);
    if (datasetObj == null) {
      String errorMessage = "Dataset not found for given ID";
      LOGGER.info(errorMessage);
      Status status =
          Status.newBuilder().setCode(Code.NOT_FOUND_VALUE).setMessage(errorMessage).build();
      throw StatusProto.toStatusRuntimeException(status);
    }
    List<String> newTags = new ArrayList<>();
    Dataset existingProtoDatasetObj = datasetObj.getProtoObject();
    for (String tag : tagsList) {
      if (!existingProtoDatasetObj.getTagsList().contains(tag)) {
        newTags.add(tag);
      }
    }
    if (!newTags.isEmpty()) {
      List<TagsMapping> newTagMappings =
          RdbmsUtils.convertTagListFromTagMappingList(datasetObj, newTags);
      datasetObj.getTags().addAll(newTagMappings);
      datasetObj.setTime_updated(Calendar.getInstance().getTimeInMillis());
      Transaction transaction = session.beginTransaction();
      session.saveOrUpdate(datasetObj);
      transaction.commit();
    }
    LOGGER.debug("Dataset tags added successfully");
    return datasetObj.getProtoObject();
  } catch (Exception ex) {
    if (ModelDBUtils.needToRetry(ex)) {
      return addDatasetTags(datasetId, tagsList);
    } else {
      throw ex;
    }
  }
}
 
源代码22 项目: 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();
		}
	}
}
 
源代码23 项目: Knowage-Server   文件: SbiGeoMapsDAOHibImpl.java
/**
 * Load all maps.
 *
 * @return the list
 *
 * @throws EMFUserError
 *             the EMF user error
 *
 * @see it.eng.spagobi.geo.bo.dao.IEngineDAO#loadAllEngines()
 */
@Override
public List loadAllMaps() throws EMFUserError {
	Session tmpSession = null;
	Transaction tx = null;
	List realResult = new ArrayList();
	try {
		tmpSession = getSession();
		tx = tmpSession.beginTransaction();

		Query hibQuery = tmpSession.createQuery(" from SbiGeoMaps");

		List hibList = hibQuery.list();
		Iterator it = hibList.iterator();
		while (it.hasNext()) {
			SbiGeoMaps hibMap = (SbiGeoMaps) it.next();
			if (hibMap != null) {
				GeoMap biMap = hibMap.toGeoMap();
				realResult.add(biMap);
			}
		}
		tx.commit();
	} catch (HibernateException he) {
		logException(he);

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

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {

		if (tmpSession != null) {
			if (tmpSession.isOpen())
				tmpSession.close();
		}

	}
	return realResult;
}
 
/**
 * Gets the document labels list using parameter.
 *
 * @param parId
 *            the par id
 *
 * @return the document labels list using parameter
 *
 * @throws EMFUserError
 *             the EMF user error
 *
 * @see it.eng.spagobi.behaviouralmodel.analyticaldriver.dao.IBIObjectParameterDAO#getDocumentLabelsListUsingParameter(java.lang.Integer)
 */
@Override
public List getDocumentLabelsListUsingParameter(Integer parId) throws HibernateException {

	List toReturn = new ArrayList();
	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();

		String hql = "select " + "	distinct(obj.label) " + "from " + "	SbiObjects obj, SbiObjPar objPar " + "where "
				+ "	obj.biobjId = objPar.sbiObject.biobjId and " + "	objPar.sbiParameter.parId = " + parId;
		Query query = aSession.createQuery(hql);
		List result = query.list();

		toReturn = result;

		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;
}
 
源代码25 项目: kardio   文件: TestDaoService.java
public ApiStatusEntity createApiStatusEntity(String envName) {
    // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    ApiStatusEntity apse = new ApiStatusEntity();
    Session session = sessionFactory.openSession();
    Transaction trx = session.beginTransaction();

    createEnvironment(envName, 0);
    EnvironmentEntity envEntity = envDao.getEnvironmentFromName(envName);

    createComponentType();
    createComponent();
    ComponentEntity parentComponentEntity = session.get(ComponentEntity.class, compID);
    createComponent();
    ComponentEntity componentEntity = session.get(ComponentEntity.class, compID);
    componentEntity.setParentComponent(parentComponentEntity);
    parentCompID++;
    session.save(componentEntity);

    apse.setEnvironment(envEntity);
    apse.setComponent(componentEntity);
    long date = System.currentTimeMillis();
    apse.setStatusDate(new java.sql.Date(date));
    apse.setDeltaValue(1);
    apse.setTotalApi(1);
    session.save(apse);
    apiStatusID++;
    trx.commit();
    session.close();
    return apse;

}
 
源代码26 项目: cacheonix-core   文件: VersionTest.java
public void testCollectionVersion() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Person gavin = new Person("Gavin");
	new Thing("Passport", gavin);
	s.persist(gavin);
	t.commit();
	s.close();
	
	assertEquals(0, gavin.getVersion());
	
	s = openSession();
	t = s.beginTransaction();
	gavin = (Person) s.createCriteria(Person.class).uniqueResult();
	new Thing("Laptop", gavin);
	t.commit();
	s.close();
	
	assertEquals(1, gavin.getVersion());
	assertFalse( Hibernate.isInitialized( gavin.getThings() ) );

	s = openSession();
	t = s.beginTransaction();
	gavin = (Person) s.createCriteria(Person.class).uniqueResult();
	gavin.getThings().clear();
	t.commit();
	s.close();
	
	assertEquals(2, gavin.getVersion());
	assertTrue( Hibernate.isInitialized( gavin.getThings() ) );

	s = openSession();
	t = s.beginTransaction();
	s.delete(gavin);
	t.commit();
	s.close();
}
 
源代码27 项目: cacheonix-core   文件: DiscriminatorTest.java
public void testQuerySubclassAttribute() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Person p = new Person();
	p.setName("Emmanuel");
	p.setSex('M');
	s.persist(p);
	Employee q = new Employee();
	q.setName("Steve");
	q.setSex('M');
	q.setTitle("Mr");
	q.setSalary( new BigDecimal(1000) );
	s.persist(q);

	List result = s.createQuery("from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	result = s.createQuery("from Person where salary > 100 or name like 'E%'").list();
	assertEquals( result.size(), 2 );

	result = s.createCriteria(Person.class)
		.add( Property.forName("salary").gt( new BigDecimal(100) ) )
		.list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	//TODO: make this work:
	/*result = s.createQuery("select salary from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertEquals( result.get(0), new BigDecimal(1000) );*/

	s.delete(p);
	s.delete(q);
	t.commit();
	s.close();
}
 
@Override
public void insertDocRelation(SbiMetaDocTabRel sbiMetaDocTabRel) throws EMFUserError {
	logger.debug("IN");

	Session tmpSession = null;
	Transaction tx = null;
	try {
		tmpSession = getSession();
		tx = tmpSession.beginTransaction();

		SbiMetaDocTabRel hibMeta = new SbiMetaDocTabRel();
		hibMeta.setDocumentId(sbiMetaDocTabRel.getDocumentId());
		hibMeta.setTableId(sbiMetaDocTabRel.getTableId());
		hibMeta.setRelationId(sbiMetaDocTabRel.getRelationId());

		updateSbiCommonInfo4Insert(hibMeta);
		tmpSession.save(hibMeta);
		tx.commit();

	} catch (HibernateException he) {
		logException(he);

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

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {

		if (tmpSession != null) {
			if (tmpSession.isOpen())
				tmpSession.close();

		}

	}
	logger.debug("OUT");
}
 
源代码29 项目: cacheonix-core   文件: UnionSubclassTest.java
public void testUnionSubclassCollection() {
	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);
	
	gavin.getInfo().put("foo", "bar");
	gavin.getInfo().put("x", "y");
	
	t.commit();
	s.close();

	s = openSession();
	t = s.beginTransaction();
	gavin = (Human) s.createCriteria(Human.class).uniqueResult();
	assertEquals( gavin.getInfo().size(), 2 );
	s.delete(gavin);
	s.delete( gavin.getLocation() );
	t.commit();
	s.close();
}
 
源代码30 项目: document-management-system   文件: MessageDAO.java
/**
 * Send message
 */
public static void send(String from, String to, String user, String subject, String content) throws
		DatabaseException {
	log.debug("send({}, {}, {}, {}, {})", new Object[]{from, to, user, subject, content});
	Session session = null;
	Transaction tx = null;

	try {
		session = HibernateUtil.getSessionFactory().openSession();
		tx = session.beginTransaction();

		MessageSent msgSent = new MessageSent();
		msgSent.setFrom(from);
		msgSent.setTo(to);
		msgSent.setUser(user);
		msgSent.setSubject(subject);
		msgSent.setContent(content);
		msgSent.setSentDate(Calendar.getInstance());
		session.save(msgSent);

		MessageReceived msgReceived = new MessageReceived();
		msgReceived.setFrom(from);
		msgReceived.setTo(to);
		msgReceived.setUser(user);
		msgReceived.setSubject(subject);
		msgReceived.setContent(content);
		msgReceived.setSentDate(Calendar.getInstance());
		session.save(msgReceived);

		HibernateUtil.commit(tx);
	} catch (HibernateException e) {
		HibernateUtil.rollback(tx);
		throw new DatabaseException(e.getMessage(), e);
	} finally {
		HibernateUtil.close(session);
	}

	log.debug("send: void");
}
 
 类所在包
 同包方法