当前位置: 首页>>代码示例>>Java>>正文


Java JPAApi.withTransaction方法代码示例

本文整理汇总了Java中play.db.jpa.JPAApi.withTransaction方法的典型用法代码示例。如果您正苦于以下问题:Java JPAApi.withTransaction方法的具体用法?Java JPAApi.withTransaction怎么用?Java JPAApi.withTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在play.db.jpa.JPAApi的用法示例。


在下文中一共展示了JPAApi.withTransaction方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: populaCidadaos

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
private void populaCidadaos(JPAApi jpaAPI, CidadaoDAO dao, String adminEmail, Integer numeroDeCidadaos) {
	Logger.info("Populando cidadãos.");
	jpaAPI.withTransaction(() -> {
           Cidadao admin = dao.findByLogin(adminEmail);
           if (admin == null) {
               Cidadao cidadao = new Cidadao("Governo Federal", adminEmail);
               cidadao.setFuncionario(true);
               cidadao.setMinisterioDeAfiliacao("Governo Federal");
			admin = dao.saveAndUpdate(cidadao);
			
			// Usuários para demonstração
               for(int i = 0; i < numeroDeCidadaos; i++ ){
               	Cidadao cidadaoParaDemonstracao = new Cidadao("Anônimo", String.format("cidadao_%[email protected]", i));
               	cidadaoParaDemonstracao.setUrlDaFoto("http://www.gravatar.com/avatar/" + cidadaoParaDemonstracao.getLogin().hashCode()
						+ "?f=y&d=retro");
				cidadaos.add(dao.saveAndUpdate(cidadaoParaDemonstracao).getId());
               }
			Logger.info(numeroDeCidadaos + " cidadãos mais o admin cadastrados.");
           } else {
			Logger.info("Admin já cadastrado, assumimos que já temos usuários");
		}
       });
}
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:24,代码来源:InitialData.java

示例2: limpaBancoParaTestes

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
@Before
public void limpaBancoParaTestes() {
	CidadaoDAO cidadaoDAO = app.injector().instanceOf(CidadaoDAO.class);
	Configuration configuration = app.injector().instanceOf(Configuration.class);
	JPAApi jpaAPI = app.injector().instanceOf(JPAApi.class);
	jpaAPI.withTransaction(() -> {
		String adminEmail = configuration.getString(Cidadao.ADMIN_EMAIL);
		Cidadao cidadao = cidadaoDAO.findByLogin(adminEmail);
		cidadao.setIniciativasAcompanhadas(new HashSet<>());
	});
	
	
	Cidade cidadeTeste = new Cidade(CIDADE_TESTE, "Pasárgada", "PB", 1f, 1f, 1f, 1f, 1000L, 1f, 1f, 0f);
	Iniciativa iniciativaTeste = new Iniciativa(INICIATIVA_TESTE, 2015, "iniciativa para melhorar condições da cidade", "programa do governo federal", "area de atuação", "fonte", "concedente", "status", false, 1000f, 1000f, new Date(), new Date(), new Date());
	cidadeTeste.addIniciativa(iniciativaTeste, new Date(), false);
	
	CidadeDAO cidadeDAO = app.injector().instanceOf(CidadeDAO.class);
	jpaAPI.withTransaction(() ->{
		if(cidadeDAO.find(-1L) == null){
			cidadeDAO.save(cidadeTeste);
		}
	});
}
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:24,代码来源:IniciativaControllerTest.java

示例3: limpaBancoDepoisDeTestes

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
@After
public void limpaBancoDepoisDeTestes() {
	JPAApi jpaAPI = app.injector().instanceOf(JPAApi.class);
	CidadeDAO cidadeDAO = app.injector().instanceOf(CidadeDAO.class);
	IniciativaDAO iniciativaDAO = app.injector().instanceOf(IniciativaDAO.class);
	jpaAPI.withTransaction(() ->{
		if(cidadeDAO.find(-1L) != null){
			cidadeDAO.remove(cidadeDAO.find(-1L));
		}
		if(iniciativaDAO.find(-1L) != null){
			iniciativaDAO.remove(iniciativaDAO.find(-1L));
		}
	});
}
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:15,代码来源:IniciativaControllerTest.java

示例4: limpaBancoParaTestes

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
@Before
public void limpaBancoParaTestes() {
	JPAApi jpaAPI = app.injector().instanceOf(JPAApi.class);
	Cidade cidadeTeste = new Cidade(CIDADE_TESTE, "Pasárgada", "PB", 1f, 1f, 1f, 1f, 1000L, 1f, 1f, 0f);
	Iniciativa iniciativaTeste = new Iniciativa(INICIATIVA_TESTE, 2015, "iniciativa para melhorar condições da cidade", "programa do governo federal", "area de atuação", "fonte", "concedente", "status", false, 1000f, 1000f, new Date(), new Date(), new Date());
	cidadeTeste.addIniciativa(iniciativaTeste, new Date(), false);
	
	CidadeDAO cidadeDAO = app.injector().instanceOf(CidadeDAO.class);
	jpaAPI.withTransaction(() ->{
		if(cidadeDAO.find(-1L) == null){
			cidadeDAO.save(cidadeTeste);
		}
	});
}
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:15,代码来源:FeedControllerTest.java

示例5: limpaBancoAposTeste

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
@After
  public void limpaBancoAposTeste() {
      IniciativaDAO daoIniciativa = app.injector().instanceOf(IniciativaDAO.class);
      OpiniaoDAO daoOpiniao = app.injector().instanceOf(OpiniaoDAO.class);
      JPAApi jpaAPI = app.injector().instanceOf(JPAApi.class);
      jpaAPI.withTransaction(() -> {
          Iniciativa i = daoIniciativa.find(iniciativaUsada);
          for (UUID uuid : uuidDeOpinioesPraRemover) {
          	Opiniao paraRemover = new Opiniao();
          	paraRemover.setId(uuid);
          	i.removeOpiniao(paraRemover);
          	daoOpiniao.delete(daoOpiniao.find(uuid));
          }
          daoIniciativa.save(i);
      });
      
      desautenticaAdmin();
      
CidadeDAO cidadeDAO = app.injector().instanceOf(CidadeDAO.class);
IniciativaDAO iniciativaDAO = app.injector().instanceOf(IniciativaDAO.class);
jpaAPI.withTransaction(() ->{
	if(cidadeDAO.find(-1L) != null){
		cidadeDAO.remove(cidadeDAO.find(-1L));
	}
	if(iniciativaDAO.find(-1L) != null){
		iniciativaDAO.remove(iniciativaDAO.find(-1L));
	}
});

  }
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:31,代码来源:FeedControllerTest.java

示例6: tearDown

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
@After
  public void tearDown() {
      IniciativaDAO daoIniciativa = app.injector().instanceOf(IniciativaDAO.class);
      JPAApi jpaAPI = app.injector().instanceOf(JPAApi.class);
      jpaAPI.withTransaction(() -> {
          Iniciativa i = daoIniciativa.find(iniciativaExemplo);
          for (UUID uuid : uuidDeOpinioesPraRemover) {
          	Opiniao paraRemover = new Opiniao();
          	paraRemover.setId(uuid);
          	i.removeOpiniao(paraRemover);
          }
          daoIniciativa.save(i);
      });
      uuidDeOpinioesPraRemover.clear();
 
  	desautenticaAdmin();

CidadeDAO cidadeDAO = app.injector().instanceOf(CidadeDAO.class);
IniciativaDAO iniciativaDAO = app.injector().instanceOf(IniciativaDAO.class);
jpaAPI.withTransaction(() ->{
	if(cidadeDAO.find(-1L) != null){
		cidadeDAO.remove(cidadeDAO.find(-1L));
	}
	if(iniciativaDAO.find(-1L) != null){
		iniciativaDAO.remove(iniciativaDAO.find(-1L));
	}
});

  }
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:30,代码来源:OpiniaoControllerTest.java

示例7: populaCidades

import play.db.jpa.JPAApi; //导入方法依赖的package包/类
private void populaCidades(JPAApi jpaAPI) {

	List<Cidade> cidades = jpaAPI.withTransaction(entityManager -> {
		return entityManager.createQuery("FROM Cidade", Cidade.class).setMaxResults(2).getResultList();
	});

	if (!cidades.isEmpty()) {
		Logger.info("BD já populado com cidades, vizinhos e diferentices");
		return;
	}

	Logger.info("Populando BD com cidades, vizinhos e diferentices");
	jpaAPI.withTransaction(() -> {
		try {
			String dataPath = dataDir + "/dados2010.csv";
			Logger.info("Cidades vêm de " + dataPath);

			ResultSet resultSet = new Csv().read(dataPath, null, "utf-8");
			int count = 0;
			while (resultSet.next()) {
				Cidade cidade = new Cidade(
						resultSet.getLong(2),
						resultSet.getString(3),
						resultSet.getString(4),
						resultSet.getFloat(5),
						resultSet.getFloat(6),
						resultSet.getFloat(7),
						resultSet.getFloat(8),
						resultSet.getLong(9),
						resultSet.getFloat(10),
						resultSet.getFloat(11),
						resultSet.getFloat(12));

				jpaAPI.em().persist(cidade);

				count++;
				if (count % 1000 == 0) {
					Logger.info("Inseri " + count + " cidades.");
				}
			}
			populaVizinhos(jpaAPI);
		} catch (SQLException e) {
			Logger.error(e.getMessage(), e);
		}
	});
	Logger.info("Populou BD com cidades, vizinhos e diferentices.");
}
 
开发者ID:nazareno,项目名称:diferentonas-server,代码行数:48,代码来源:InitialData.java


注:本文中的play.db.jpa.JPAApi.withTransaction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。