Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all 759 articles
Browse latest View live

Tenho como refatorar esse metodo?

$
0
0

@thimor escreveu:

Ola,
Eu estou usando spring-data jpa e tenho esse metodo. Eu uso uma classe ProdutoFilter que tem todos os parametros de pesquisa, e montei a query de forma nativa. Gostaria de saber se tem como refatorar esse metodo, para que o framework entenda que os parametros da query sao para retirar de ProdutoFilter ao inves de ter que passa-los um a um no metodo. Fica muito feio. Eu tentei usar uma outra abordagem que achei que melhor, porem nao funcionou como esperado.
O metodo é esse:

@Query(value = "select p.idproduto as idproduto, p.ean as ean, "
+ "p.descricao as descricao, p.unidsaida as unidade,"
		+ " p.embsaida as embalagem, pp.custozero as precoCusto,pp.margem as margemLucro,pp.venda1 as precoVenda,"
		+ " substring(p.tabicmsprod,1,2) as cstIcms, idgrupo as secao, idsubgrupo as grupo, idsubgrupo1 as subgrupo"
		+ " from produto p inner join itensfornecedor pf on p.idproduto=pf.idproduto"
		+ " inner join produto_preco pp on p.idproduto=pp.idproduto "
        + " where (pf.idfornecedor = :idFornecedor or :idFornecedor is null)"
		+ " and (pp.id_loja =:idLoja or :idLoja is null)" 
        + " and (p.idProduto    = :idProduto    or :idProduto    is null)"
		+ " and (p.idGrupo      = :idGrupo      or :idGrupo      is null)" 
        + " and (p.idSubGrupo   = :idSubGrupo   or :idSubGrupo   is null)"
	    + " and (p.idSubGrupo1  = :idSubGrupo1  or :idSubGrupo1  is null)"
	    + " and (p.descricao like concat(:descricao, '%') or :descricao is null)"
		+ " and (p.produto_cotacao = :participaCotacao or :participaCotacao is null)"
	    + " and (pp.idFamilia   = :idFamilia or :idFamilia is null)" 
        + " and (p.idSituacao   = :idSituacao or :idSituacao is null)"
		+ " order by p.descricao ,  nativeQuery = true)
public List<PedidoCompraItem> listarItensPedidoCompra(@Param("idProduto") Long idProduto, @Param("idLoja") Long idLoja,
		@Param("idFornecedor") Long idFornecedor, @Param("idGrupo") Long idSecao, @Param("idSubGrupo") Long idGrupo,
		@Param("idSubGrupo1") Long idSubgrupo, @Param("descricao") String descricao, @Param("participaCotacao") String participaCotacao,
		@Param("idFamilia") Long idFamilia, @Param("idSituacao") Long idSituacao);

Essa é a forma que esta hoje, eu tentei uma abordagem usando criteria inclusive recebe warning de deprecated, porem a query nao funciona da forma que eu implementei o select. Mas ficou assim:

@SuppressWarnings("unchecked")
@Override
@Transactional(readOnly = true)
public Page<Produto> filtrarPrecoPendente(ProdutoFilter produtoFilter, Pageable pageable) {
	Criteria criteria = manager.unwrap(Session.class).createCriteria(Produto.class);

	paginacaoUtil.preparar(criteria, pageable);
	adicionarFiltro(produtoFilter, criteria);

	return new PageImpl<>(criteria.list(), pageable, total(produtoFilter));
}

private Long total(ProdutoFilter filtro) {
	Criteria criteria = manager.unwrap(Session.class).createCriteria(Produto.class);
	adicionarFiltro(filtro, criteria);
	criteria.setProjection(Projections.rowCount());
	return (Long) criteria.uniqueResult();
}

private void adicionarFiltro(ProdutoFilter filtro, Criteria criteria) {
	if (filtro != null) {
		if (!StringUtils.isEmpty(filtro.getDescricao())) {
			criteria.add(Restrictions.ilike("descricao", filtro.getDescricao(), MatchMode.ANYWHERE));
		}

		if (filtro.getIdSecao() != 0) {
			criteria.add(Restrictions.eq("idgrupo", filtro.getIdSecao()));
		}

		if (filtro.getIdGrupo() != null) {
			criteria.add(Restrictions.eq("idsubgrupo", filtro.getIdGrupo()));
		}

		if (filtro.getIdSubgrupo() != null) {
			criteria.add(Restrictions.eq("idsubgrupo1", filtro.getIdSubgrupo()));
		}

		if (filtro.getEntradaDe() != null) {
			criteria.add(Restrictions.ge("dt_entrada", filtro.getEntradaDe()));
		}

		if (filtro.getEntradaAte() != null) {
			criteria.add(Restrictions.le("dt_entrada", filtro.getEntradaAte()));
		}
	}
}

essa abordagem fica mais legível, mas nao funcionou bem. Por isso gostaria de saber se alguem tem uma sugestao de como refatorar esse metodo.

Mensagens: 1

Participantes: 1

Ler tópico completo


Erro ao fazer relacionamento com Hibernate

$
0
0

@Gabriel_Alves2 escreveu:

14:07:09,110 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - SQL Error: 2291, SQLState: 23000
14:07:09,110 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - ORA-02291: restrição de integridade (UNIP.FK_CLIENTE) violada - chave mãe não localizada

Ele da esse erro, porem os valores das chaves estão corretas, mas não faz o relacionamento, podem me ajudar?

Reparem no PES_CODIGO da tabela PESSOA e depois da tabela CLIENTE

Hibernate: 
/* insert model.PessoaModel
    */ insert 
    into
        PESSOA
        (PES_ATIVO, PES_BAIRRO, PES_CADASTRO, PES_CELULAR, PES_CEP, PES_CIDADE, PES_COMPLEMENTO, PES_CPFCNPJ, PES_EMAIL, PES_ENDERECO, PES_FANTASIA, PES_FISICA, PES_FONE1, PES_FONE2, PES_NOME, PES_NUMERO, PES_RGIE, PES_SITE, PES_UF, PES_CODIGO) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

14:07:01,128 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [1] as [CHAR] - [S]
14:07:01,128 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [2] as [VARCHAR] - [1]
14:07:01,128 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [3] as [VARCHAR] - [04/11/2018]
14:07:01,128 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [4] as [VARCHAR] - [1]
14:07:01,128 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [5] as [VARCHAR] - [1]
14:07:01,128 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [6] as [VARCHAR] - [1]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [7] as [VARCHAR] - [1]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [8] as [VARCHAR] - [1]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [9] as [VARCHAR] - [1]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [10] as [VARCHAR] - [1]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [11] as [VARCHAR] - [1]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [12] as [CHAR] - [S]
14:07:01,129 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [13] as [VARCHAR] - [1]
14:07:01,130 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [14] as [VARCHAR] - [1]
14:07:01,130 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [15] as [VARCHAR] - [1]
14:07:01,130 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [16] as [VARCHAR] - [1]
14:07:01,130 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [17] as [VARCHAR] - [1]
14:07:01,130 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [18] as [VARCHAR] - [1]
14:07:01,130 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [19] as [VARCHAR] - [1]
14:07:01,131 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [20] as [INTEGER] - [12]
14:07:08,992 DEBUG [org.hibernate.SQL] -

/* insert model.ClienteModel
    */ insert 
    into
        CLIENTE
        (CLI_LIMITECRED, PES_CODIGO, CLI_CODIGO) 
    values
        (?, ?, ?)
Hibernate: 
/* insert model.ClienteModel
    */ insert 
    into
        CLIENTE
        (CLI_LIMITECRED, PES_CODIGO, CLI_CODIGO) 
    values
        (?, ?, ?)

14:07:08,993 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [1] as [DOUBLE] - [1.0]
14:07:08,994 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [2] as [INTEGER] - [12]
14:07:08,994 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [3] as [INTEGER] - [9]
14:07:09,110 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - SQL Error: 2291, SQLState: 23000
14:07:09,110 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - ORA-02291: restrição de integridade (UNIP.FK_CLIENTE) violada - chave mãe não localizada

Mensagens: 2

Participantes: 2

Ler tópico completo

ManyToMany

$
0
0

@Ariel_Lopes escreveu:

Como faço para relacionar 2 TAbelas ManyToMany,

porem uma tabela ja via conter os intems, TABELA ALERGIAS ja contem as alegrias, quando eu salvar o CLIENTE gostaria de relacionar, estou fazendo isso, porem quando salvo, salva somente o USUARIO

Mensagens: 2

Participantes: 2

Ler tópico completo

ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper A nome da coluna start_value não foi encontrado neste ResultSet

$
0
0

@albama escreveu:

Bom dia, na semana passada eu estava implantando em produção um sistema web que usa tomcat 9 + Hibernate 5.4.3.Final + Postgres

O sistema no ambiente de desenvolvimento e homologação rodou sem erros, ao publicar em produção apresentou o seguinte erro:

ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper A nome da coluna start_value não foi encontrado neste ResultSet.

Fui procurar a solução na internet e reparei que nao tem ou ainda nao tem a resposta.

Eu e companheiro de desenvolvimento descobrimos o problema.

Vou resumir caso alguém nao queira ler até o final.

SOLUÇÃO: coloque uma versão no hibernate compativel com o banco de dados ( eu baixei a versao e funcionou ).

Mensagens: 2

Participantes: 1

Ler tópico completo

Como usa projections com o hibernate?

$
0
0

@thimor escreveu:

Ola,
O meu problema é o seguinte:

Usando Spring-date, se seu criar uma query nativa, direto no repository. Eu nao preciso fazer nada, crio a projection, e uso ela no retorno do metodo e funciona normalmente. Da forma como esta abaixo.
@Repository
public interface Produtos extends JpaRepository<Produto, Long>, ProdutosQueries {

@Query(value = "select p.idproduto,p.ean,p.descricao, pp.custo, pf.referencia from produto p"
		+ " inner join produto_preco pp on p.idproduto=pp.idproduto and pp.id_loja=:idLoja"
		+ " left join itensfornecedor pf on p.idproduto=pf.idproduto and" 
        + " pf.idfornecedor=:idFornecedor "
		+ " where p.ean in (:codigos)" , nativeQuery = true)
public List<TrocaFornecedorItem> listarProdutosPorEan(@Param("codigos") Set<Long> codigos, @Param("idLoja") Long idLoja,
		@Param("idFornecedor") Long idFornecedor);

agora se eu retirar esse metodo da Interface repository e coloca-lo numa classe a query nao cria a projection para retorno de maneira alguma, fica dando erro de que nao tem conversor para retorno dos dados. E é dessa forma que nao funciona, vou apenas suprimir o select pq eh um pouco grande

public class ProdutosImpl implements ProdutosQueries {

@PersistenceContext
private EntityManager manager;

@SuppressWarnings("unchecked")
@Override
public List<PedidoCompraItem> listarItensPedidoCompra(ProdutoFilter produtoFilter) {
	String sql = "select * from produto";
	return manager.createNativeQuery(sql)
			.setParameter("idFornecedor", produtoFilter.getIdFornecedor())
			.setParameter("idLoja", produtoFilter.getIdLoja())
			.setParameter("idProduto", produtoFilter.getIdProduto())
			.setParameter("idGrupo", produtoFilter.getIdSecao())
			.setParameter("idSubGrupo", produtoFilter.getIdGrupo())
			.setParameter("idSubGrupo1", produtoFilter.getIdSubgrupo())
			.setParameter("descricao", produtoFilter.getDescricao())
			.setParameter("participaCotacao", produtoFilter.getParticipaCotacao())
			.setParameter("idFamilia", produtoFilter.getIdFamilia())
			.setParameter("idSituacao", produtoFilter.getIdSituacao())
			.getResultList();
}

por isso estou abrido o topico tem outra forma de avisar ao EM qual a projection ele vai usar?

Mensagens: 1

Participantes: 1

Ler tópico completo

Mapear Tabela Temporária do Firebird no Hibernate

$
0
0

@gomarin escreveu:

Bom Dia Pessoal.
Estou com uma dúvida em relação ao mapeamento de tabelas no hibernate.
No meu BD firebird tenho uma tabela temporária (GLOBAL TEMPORARY TABLE) onde os registros são excluídos ao comitar a transação e preciso mapear esta tabela no hibernate para manipular estes dados.
Estou mapeando a tabela normalmente como sempre faço:

@Entity
@Table(name="TABTEMP")
public class TabTemp implements Serializable {
...
}

Porém ao iniciar o Tomcat recebo este erro:

ERROR [HibernateUtil ] Schema-validation: missing table [TABTEMP] Causado por: null

Gostaria de saber como faço para mapear esta tabela temporária, se tem alguma diferença no mapeamento em relação às tabelas “normais” do firebird.
Obrigado desde já.

Mensagens: 1

Participantes: 1

Ler tópico completo

Mapeamento Hibernate

Problema com ID personalizado - Hibernate

$
0
0

@Bambatera escreveu:

Pessoal, criei um ID personalizado pra minha entidade, mas o seguinte erro é lançado ao tentar inserir pelo JPA:
org.hibernate.PersistentObjectException: detached entity passed to persist: br.unb.pessoal.model.sipes.DadosFuncionais

Segue declarações:
Entidade:

public class DadosFuncionais implements Serializable {

    private static final long serialVersionUID = -288176893648980290L;

    @Id
    @GenericGenerator(name = "gerador_matricula", strategy = "br.unb.pessoal.infra.sipes.DadosFuncionaisIDGenerator")
    @GeneratedValue(generator = "gerador_matricula")
    @Column(name = "MatSipes", unique = true, nullable = false, insertable = true)
    private Integer matSipes;

Gerador:

public class DadosFuncionaisIDGenerator implements IdentifierGenerator {

    @Override
    public Serializable generate(SessionImplementor session, Object object) throws HibernateException {
        return this.gerarMatSipes();
    }

    /**
     * Gera a nova matrícula FUB para o servidor.
     *
     * @return Nova Matrícula FUB.
     */
    private Integer gerarMatSipes() {
        Integer ultimaMatricula = PessoalInfra.getInstance().getDadosFuncionaisRepository().getUltimaMatricula();
        int matTemp = 0;
        if (ultimaMatricula != null) {
            matTemp = ((ultimaMatricula / 10) + 1);
        }
        return Integer.parseInt(this.calcularNovaMatricula(matTemp));
    }

    /**
     * Realiza o cálculo da nova Matrícula FUB. Este método reflete a 'Function'
     * CDC da 'FubLibs' implementada no VB. <br/>
     * <p>
     * Recebe como parâmetro a última matrícula armazenda no banco de dados,
     * dividida por 10 e somada uma unidade (+1). Por receber um inteiro, o
     * valor passado como parâmetro é arredondado para baixo antes da
     * soma.</p><br/>
     *
     * @param ultimaMatricula Última matrícula, dividida por 10, arredondada
     * para baixo e somada em uma unidade (+1).
     * @return Nova matrícula FUB preenchida com zeros à esquerda, caso
     * necessário.
     */
    private String calcularNovaMatricula(int ultimaMatricula) {
        String auxiliar = String.valueOf(ultimaMatricula).trim();
        int qtd = auxiliar.length();
        int fim = qtd;
        int nro = 0;

        for (int i = 1; i < fim; i++) {
            nro = nro + (qtd + 1) * Integer.parseInt(auxiliar.substring(i, i + 1));
            qtd--;
        }

        Double novaMatricula = (11 - (nro % 11)) % 10 + (Double.valueOf(auxiliar) * 10);
        return UtilitariosUnB.aplicarZerosAEsquerda(String.valueOf(novaMatricula.intValue()), fim + 1);
    }

}

Método da persistência:

public DadosFuncionais inserir(DadosFuncionais df) {
try {
    if (df != null) {
        this.getEntityManager().persist(df);
        this.getEntityManager().flush();
        this.getEntityManager().clear();
        
        DadosFuncionais dadosFuncionais = this.findByCodigoPessoa(df.getPesCodigoPessoa());
        if (dadosFuncionais != null) {
            return dadosFuncionais;
        }
    }
} catch (Exception e) {
    throw e;
}
return null;
}

Sei que se eu adicionar um auto-incremento no banco esse problema seria resolvido, mas atualmente não é possível criar um campo chave auto-incremento no banco de dados, pois trata-se de uma aplicação para substituir um sistema legado (em VB) que ainda está em uso, estamos migrando alguns módulos, estou tentando replicar o código no Java, mas esbarrei nesse problema (dentre outros).

Desde já agradeço a ajuda!

Mensagens: 2

Participantes: 2

Ler tópico completo


Hibernate EntityManager Update não funcionando

$
0
0

@Eng_Thiagolima escreveu:

Bom dia amigos,
Estou estudando java e hibernate, e agora me bati com um problema…
se os senhores dispuserem de algum tempo, e puderem da uma olhada no meu código, explico abaixo o que está acontecendo:

Este é meu método na classe UsersDAO:

public void update(Users u) {
    try {
        em.getTransaction().begin();
        em.merge(u);
        em.getTransaction().commit();
    } catch (Exception e) {
        em.getTransaction().rollback();
        e.printStackTrace();
    }
}

E este meu update do meu bean que vai chamar o update do meu DAO

public void update(RowEditEvent event) {
		users = (Users) event.getObject();
		try {
			dao = new UsersDAO();
			users = dao.getById(((Users) event.getObject()).getIdusers());
			users.setSenha(convertStringToMd5(users.getSenha())); //Converter a senha para md5
			dao.update(users);
			saveMessage();
		}catch (Exception e){
			e.printStackTrace();
		}
	}

Quando atualizo minha datatable, tenho a seguinte resposta no console:
Hibernate:

update
    users 
set
    cargo=?,
    data_criacao=?,
    email=?,
    login=?,
    nome=?,
    phone=?,
    senha=? 
where
    idusers=?

o problema é, nada acontece… o item não é atualizado. Alguma luz para o novato em java?

Mensagens: 8

Participantes: 3

Ler tópico completo

Configurar JPA para minúsculas

$
0
0

@pyro escreveu:

Boa tarde.

Por motivos diversos preciso utilizar um servidor MySQL que para acessar as tabelas é case sensitive.
Existe alguma forma de configurar o JPA para isso? Pois no meu caso está sempre tentando acessar as tabelas assim: onwer.TABELA e no final acusa que a tabela não existe, mas o problema é somente o case sensitive.

Tem como configurar isso no persistence.xml?

Mensagens: 1

Participantes: 1

Ler tópico completo

Mapeando campo id de 3 tabelas - hibernate

$
0
0

@BrunoPereira escreveu:

boa noite pessoal!

bom, comecei a estudar spring boot e fazer um projeto que o professor oferece porem notei que não estava aprendendo direito então optei por fazer um projeto do zero me baseando no projeto do curso porem com algumas diferenças e incrementações e ate quero usalo como um portfolio se ficar descente. cheguei numa parte que fiquei quebrando a cabeça mas n consegui ir adiante, tenho 1 classe abstrata cliente e na minha aplicação podem existir 3 tipos de clientes:especial, potencial e comum. cada cliente pode ter 1 ou mais endereços e é ai que eu tenho o problema, eu queria mapear o id das 3 tabelas diferentes sendo um unico id entre as 3 tabelas, ex: client especial: id 1, client comum id: 2, client especial id:3 e assim por diante, minha ideia é que o id não se repita dentro da propria tabela e nem entre as mesmas para que eu conseguisse fazer o relacionamento entre os clientes e os endereços, teria alguma forma de fazer isso com o hibernate? ou se eu usar só uma classe concreta de cliente é melhor? desde ja agradeço se algm poder me dar uma luz

Mensagens: 3

Participantes: 2

Ler tópico completo

Hibernate esta salvando a data errada

$
0
0

@serrao escreveu:

Boa noite pessoal,
Estou um um probleminha chato, creio que seja algo relacionado a alguma configuração do hibernate.
Estou tentando salvar uma data, mas quando salvo o registro a data e horário que ficam salvo esta errado.

jdbc:mysql://localhost:3306/meubanco?useTimezone=true&serverTimezone=UTC

@Temporal(TemporalType.TIMESTAMP)
@Column(name=“dt_cadastro”, length=10)
public Date getDtCadastro() {
return dtCadastro;
}

usuario.setDtCadastro(new Date());

Estou usando o mysql, no meu banco o campo esta como TIMESTAMP, quando imprimo pelo netbeans, ele exibe a data correta, mas quando vai pro banco vai a data errada. Aguem sabe o que posso estar fazendo errado?

Mensagens: 1

Participantes: 1

Ler tópico completo

Método findbyid Hibernate Jpa para diferentes classes

$
0
0

@Silverhauk escreveu:

Boa tarde pessoal,

Sou novo em desenvolvimento e estou fazendo um CRUD simples utlizando jpa e hibernate. O problema é o seguinte, se eu instanciar os objetos, tanto o entityManager quanto a classe que vou persistir, na classe main e executar o método, o código funciona perfeitamente, como no exemplo:

EntityManager entityManager = jpautil.getEntityManagerFactory().createEntityManager();
entityManager.getTransaction().begin();
cliente d = new cliente();
d.setId(2);
d = entityManager.find(cliente.class, d.getId());
entityManager.getTransaction().commit();
entityManager.close();
jpautil.shutdown();

System.out.println();
System.out.println();
System.out.println("Código do cliente: "+ d.getId());
System.out.println("Nome do cliente: "+ d.getNome());
System.out.println("CPF do cliente: "+ d.getCpf());
System.out.println();
System.out.println();

No entanto, eu gostaria de direcionar toda essa parte do entityManager
para uma classe DAO, deixando no main apenas a instancia da classe cliente e criar um método localizaporid dentro da classe cliente, ficando da seguinte forma:

Classe DAO:

public Classe_generica findbyid (Classe_generia.class, int id){ EntityManager entityManager = jpautil.getEntityManagerFactory().createEntityManager(); entityManager.getTransaction().begin(); Classe_generica cg = new Classe_generica(); cg = entityManager.find(Classe_generica.class, id); entityManager.getTransaction().commit(); entityManager.close(); jpautil.shutdown(); return cg; }

Sabendo que criamos o método “localizaporid” dentro da classe cliente e este
chama o método “findbyId” da classe DAO, no main ficaria:

cliente d = new cliente(); d.setId(2); d = d.localizaporid(cliente.class, cliente.getId());

A grande jogada, é que gostaria de repetir isso para diversas classes utilizando
essa mesma lógica, onde uma classe de fornecedores também teria o método “localizaporid”, chamando findbyid da classe DAO.

Obrigado!

Mensagens: 2

Participantes: 2

Ler tópico completo

Dificuldades com Mapeamento JPA e

$
0
0

@ivanyanez_sjc escreveu:

Olá Boa Noite !
Estou com dificuldades quando faço o mapeamento da minha classe

Sempre quando insiro esta linha de codigo abaixo:

@OneToMany(mappedBy = "cargo")
private List<Funcionario> funcionarios;

Apresenta o erro abaixo:

22:50:46.568 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
22:50:46.571 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
22:50:46.571 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/C:/Users/Administrator/eclipse-workspace/mvc.sistemaCRUD/target/classes/]

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v1.5.10.RELEASE)

2020-01-10 22:50:47.407  INFO 1788 --- [  restartedMain] com.example.demo.Application             : Starting Application on EC2AMAZ-VB3U7OU with PID 1788 (C:\Users\Administrator\eclipse-workspace\mvc.sistemaCRUD\target\classes started by Administrator in C:\Users\Administrator\eclipse-workspace\mvc.sistemaCRUD)
2020-01-10 22:50:47.408  INFO 1788 --- [  restartedMain] com.example.demo.Application             : No active profile set, falling back to default profiles: default
2020-01-10 22:50:48.287  INFO 1788 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@14454d65: startup date [Fri Jan 10 22:50:48 UTC 2020]; root of context hierarchy
2020-01-10 22:50:50.748  INFO 1788 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$cc68432d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-01-10 22:50:52.021  INFO 1788 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2020-01-10 22:50:52.036  INFO 1788 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-01-10 22:50:52.037  INFO 1788 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.27
2020-01-10 22:50:52.731  INFO 1788 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-01-10 22:50:52.732  INFO 1788 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 4451 ms
2020-01-10 22:50:52.966  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2020-01-10 22:50:52.970  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2020-01-10 22:50:52.972  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2020-01-10 22:50:52.972  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2020-01-10 22:50:52.972  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2020-01-10 22:50:52.972  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'resourceUrlEncodingFilter' to: [/*]
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
2020-01-10 22:50:55.157  INFO 1788 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2020-01-10 22:50:55.182  INFO 1788 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
	name: default
	...]
2020-01-10 22:50:55.335  INFO 1788 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate Core {5.0.12.Final}
2020-01-10 22:50:55.337  INFO 1788 --- [  restartedMain] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2020-01-10 22:50:55.341  INFO 1788 --- [  restartedMain] org.hibernate.cfg.Environment            : HHH000021: Bytecode provider name : javassist
2020-01-10 22:50:55.432  INFO 1788 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2020-01-10 22:50:55.805  INFO 1788 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2020-01-10 22:50:56.567  INFO 1788 --- [  restartedMain] org.hibernate.tool.hbm2ddl.SchemaUpdate  : HHH000228: Running hbm2ddl schema update
2020-01-10 22:50:56.947  INFO 1788 --- [  restartedMain] rmationExtractorJdbcDatabaseMetaDataImpl : HHH000262: Table not found: departamento
2020-01-10 22:50:56.950  INFO 1788 --- [  restartedMain] rmationExtractorJdbcDatabaseMetaDataImpl : HHH000262: Table not found: departamento
2020-01-10 22:50:57.496  INFO 1788 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-01-10 22:50:58.262  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@14454d65: startup date [Fri Jan 10 22:50:48 UTC 2020]; root of context hierarchy
2020-01-10 22:50:58.353  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/cargo/cadatrar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.CargoController.cadastrar()
2020-01-10 22:50:58.354  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/cargo/listar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.CargoController.listar()
2020-01-10 22:50:58.355  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/departamaento/cadastrar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.DepartamentoController.cadastrar()
2020-01-10 22:50:58.357  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/departamaento/listar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.DepartamentoController.Listar()
2020-01-10 22:50:58.359  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/funcionario/cadastrar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.FuncionarioController.cadastrar()
2020-01-10 22:50:58.359  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/funcionario/listar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.FuncionarioController.listar()
2020-01-10 22:50:58.360  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.HomeController.home()
2020-01-10 22:50:58.368  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2020-01-10 22:50:58.369  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2020-01-10 22:50:58.769  INFO 1788 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-01-10 22:50:58.775  INFO 1788 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-01-10 22:50:58.847  INFO 1788 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-01-10 22:50:59.681  INFO 1788 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2020-01-10 22:50:59.833  INFO 1788 --- [  restartedMain] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2020-01-10 22:50:59.940  INFO 1788 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2020-01-10 22:50:59.949  INFO 1788 --- [  restartedMain] com.example.demo.Application             : Started Application in 13.358 seconds (JVM running for 16.228)
2020-01-10 22:52:36.785  INFO 1788 --- [       Thread-8] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@14454d65: startup date [Fri Jan 10 22:50:48 UTC 2020]; root of context hierarchy
2020-01-10 22:52:36.869  INFO 1788 --- [       Thread-8] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2020-01-10 22:52:37.025  INFO 1788 --- [       Thread-8] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v1.5.10.RELEASE)

2020-01-10 22:52:40.129  INFO 1788 --- [  restartedMain] com.example.demo.Application             : Starting Application on EC2AMAZ-VB3U7OU with PID 1788 (C:\Users\Administrator\eclipse-workspace\mvc.sistemaCRUD\target\classes started by Administrator in C:\Users\Administrator\eclipse-workspace\mvc.sistemaCRUD)
2020-01-10 22:52:40.130  INFO 1788 --- [  restartedMain] com.example.demo.Application             : No active profile set, falling back to default profiles: default
2020-01-10 22:52:40.133  INFO 1788 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7bb76e02: startup date [Fri Jan 10 22:52:40 UTC 2020]; root of context hierarchy
2020-01-10 22:52:41.037  INFO 1788 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$cc68432d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-01-10 22:52:41.402  INFO 1788 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2020-01-10 22:52:41.403  INFO 1788 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-01-10 22:52:41.404  INFO 1788 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.27
2020-01-10 22:52:41.430  INFO 1788 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-01-10 22:52:41.430  INFO 1788 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1297 ms
2020-01-10 22:52:41.518  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2020-01-10 22:52:41.522  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2020-01-10 22:52:41.523  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2020-01-10 22:52:41.523  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2020-01-10 22:52:41.523  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2020-01-10 22:52:41.523  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'resourceUrlEncodingFilter' to: [/*]
2020-01-10 22:52:42.164  INFO 1788 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2020-01-10 22:52:42.165  INFO 1788 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
	name: default
	...]
2020-01-10 22:52:42.187  INFO 1788 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2020-01-10 22:52:42.243  WARN 1788 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
2020-01-10 22:52:42.250  INFO 1788 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2020-01-10 22:52:42.280  INFO 1788 --- [  restartedMain] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2020-01-10 22:52:42.308 ERROR 1788 --- [  restartedMain] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:857) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at com.example.demo.Application.main(Application.java:10) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_231]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_231]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_231]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_231]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.5.10.RELEASE.jar:1.5.10.RELEASE]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
	at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:360) ~[spring-orm-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:382) ~[spring-orm-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:371) ~[spring-orm-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:336) ~[spring-orm-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	... 21 common frames omitted
Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
	at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:348) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
	... 28 common frames omitted
Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.example.demo.web.domain.Cargo
	at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:61) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:141) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:517) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:124) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_231]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.8.0_231]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.8.0_231]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[na:1.8.0_231]
	at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	... 32 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_231]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.8.0_231]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.8.0_231]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[na:1.8.0_231]
	at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
	... 42 common frames omitted
Caused by: java.lang.Error: Unresolved compilation problems: 
	ManyToOne cannot be resolved to a type
	JoinColumn cannot be resolved to a type

	at com.example.demo.web.domain.Cargo.<init>(Cargo.java:18) ~[classes/:na]
	... 47 common frames omitted


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v1.5.10.RELEASE)

2020-01-10 22:53:09.579  INFO 1788 --- [  restartedMain] com.example.demo.Application             : Starting Application on EC2AMAZ-VB3U7OU with PID 1788 (C:\Users\Administrator\eclipse-workspace\mvc.sistemaCRUD\target\classes started by Administrator in C:\Users\Administrator\eclipse-workspace\mvc.sistemaCRUD)
2020-01-10 22:53:09.745  INFO 1788 --- [  restartedMain] com.example.demo.Application             : No active profile set, falling back to default profiles: default
2020-01-10 22:53:09.959  INFO 1788 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3e57b52: startup date [Fri Jan 10 22:53:09 UTC 2020]; root of context hierarchy
2020-01-10 22:53:11.172  INFO 1788 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$cc68432d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-01-10 22:53:11.476  INFO 1788 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2020-01-10 22:53:11.485  INFO 1788 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-01-10 22:53:11.486  INFO 1788 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.27
2020-01-10 22:53:11.531  INFO 1788 --- [ost-startStop-1] o.a.c.c.C.[Tomcat-1].[localhost].[/]     : Initializing Spring embedded WebApplicationContext
2020-01-10 22:53:11.532  INFO 1788 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1574 ms
2020-01-10 22:53:11.742  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2020-01-10 22:53:11.745  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2020-01-10 22:53:11.746  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2020-01-10 22:53:11.746  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2020-01-10 22:53:11.746  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2020-01-10 22:53:11.746  INFO 1788 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'resourceUrlEncodingFilter' to: [/*]
2020-01-10 22:53:12.481  INFO 1788 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2020-01-10 22:53:12.488  INFO 1788 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
	name: default
	...]
2020-01-10 22:53:12.532  INFO 1788 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2020-01-10 22:53:12.874  INFO 1788 --- [  restartedMain] org.hibernate.tool.hbm2ddl.SchemaUpdate  : HHH000228: Running hbm2ddl schema update
2020-01-10 22:53:13.892  INFO 1788 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-01-10 22:53:14.143  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3e57b52: startup date [Fri Jan 10 22:53:09 UTC 2020]; root of context hierarchy
2020-01-10 22:53:14.167  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/cargo/cadatrar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.CargoController.cadastrar()
2020-01-10 22:53:14.168  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/cargo/listar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.CargoController.listar()
2020-01-10 22:53:14.172  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/departamaento/cadastrar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.DepartamentoController.cadastrar()
2020-01-10 22:53:14.173  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/departamaento/listar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.DepartamentoController.Listar()
2020-01-10 22:53:14.174  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/funcionario/cadastrar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.FuncionarioController.cadastrar()
2020-01-10 22:53:14.175  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/funcionario/listar],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.FuncionarioController.listar()
2020-01-10 22:53:14.175  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],methods=[GET]}" onto public java.lang.String com.example.demo.web.controller.HomeController.home()
2020-01-10 22:53:14.178  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2020-01-10 22:53:14.179  INFO 1788 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2020-01-10 22:53:14.415  INFO 1788 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-01-10 22:53:14.415  INFO 1788 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-01-10 22:53:14.437  INFO 1788 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-01-10 22:53:14.659  INFO 1788 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2020-01-10 22:53:14.741  INFO 1788 --- [  restartedMain] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2020-01-10 22:53:14.791  INFO 1788 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2020-01-10 22:53:14.796  INFO 1788 --- [  restartedMain] com.example.demo.Application             : Started Application in 5.949 seconds (JVM running for 151.075)

No meu Pom.xml esta inserido

	<groupId>org.springframework.boot</groupId> 
	<artifactId>spring-boot-starter-data-jpa</artifactId> 
</dependency>

<dependency>
	<groupId>org.springframework.boot</groupId> 
	<artifactId>spring-boot-starter-test</artifactId> 
	<scope>test</scope> 
</dependency>

<dependency>
	<groupId>javax.xml.bind</groupId>
	<artifactId>jaxb-api</artifactId>
	<version>2.3.0</version>
</dependency>

Não estou sabendo como ajustar isso , desde já agradeço respostas.

Mensagens: 6

Participantes: 3

Ler tópico completo

Erro de "The server time zone value 'unknown' is unrecognized or represents more than one time zone." Hibernate e JDBC

$
0
0

@Breno_Henrrique escreveu:

Boa tarde galera, sei que este tópico existe aos montes tanto no GUJ quando no StackOverFlow, mas mesmo com as respostas de ambos os sites não resolvem o meu problema. Eu tenho um projeto que tive esse problema e joguei o comando da seguinte forma:
jdbc:mysql://localhost:3306/estoque?useTimezone=true&serverTimezone=UTC e consegui resolver o erro, só que neste projeto usava apenas JDBC e Java, com o Hibernate tudo que eu tento não dá certo. Minha classe persistence.xml esta assim:

<persistence-unit name="produto" transaction-type="RESOURCE_LOCAL">

	<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

	<class>model.Produto</class>

	<properties>
		<!-- Driver JDBC para conexão com o MySQL -->
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

		<!-- Propriedades para conexão com o banco de dados -->
		<property name="javax.persistence.jdbc.url"	value="jdbc:mysql://localhost:3306/dbprodutos?useTimezone=true;serverTimezone=UTC" />
		<property name="javax.persistence.jdbc.user" value="root" />
		<property name="javax.persistence.jdbc.password" value="" />

		<!-- Configurações do Hibernate -->
		<property name="hibernate.dialect"
			value="org.hibernate.dialect.MySQL5Dialect" />
		<property name="hibernate.hbm2ddl.auto" value="update" />
	</properties>
</persistence-unit>

Mas independente do que faça o problema não é sanado, meu erro é o seguinte:

ERROR: The server time zone value 'unknown' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

já tentei resolver com os comandos:
?useTimezone=true&serverTimezone=UTC
e
?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
mas sem sucesso. Alguém já teve o mesmo problema.

Mensagens: 1

Participantes: 1

Ler tópico completo


Hibernate - Select realizando Update

$
0
0

@loko89 escreveu:

Pessoal, boa tarde.

Tenho uma aplicação Spring com Hibernate e ocorrem dois problemas que eu gostaria de uma ajuda de por onde começar a analisar, pois até o momento não consegui descobrir nada.

1 - Em determinados fluxos que somente envolvem selects, ao final da trasação o hibernate está persistindo as informações de algumas entidades envolvidas, porém que, pelo menos diretamente não estão sendo alteradas, mas mesmo assim são persistidas. Imagino que talvez seja algo relacionado ao dirty check, mas não consegui uma forma de analisar isso.

2 - Cenário parecido ocorre, só que nesse caso quando eu realmente quero fazer o update de alguma entidade e são atualizadas diversas outras entidades que foram utilizadas para fazer select nas validações de negócio.

Ambos os casos, eu só descobri que estava acontecendo isso pois criei algumas triggers para um outro controle e percebi que o mesmo estava sendo acionado em momentos indevidos. E o mais curioso, pelo menos pra mim já que não sei o pq isso está ocorrendo, é que os updates são realizados com o mesmo valor que já estava na tabela.

Alguém já passou por algo parecido ou ao menos tem ideia de um caminho que eu posso tentar analisar?

Valeu pessoal

Mensagens: 2

Participantes: 2

Ler tópico completo

Hibernate + Spring MVC problema no Update

$
0
0

@castelhano escreveu:

Ola, por algum motivo o hibernate está tentando fazer um insert quando estou tentado atualizar algum registro, vi alguns exemplos e não entendi o que estou fazendo de errado.
Meu modelo:

@Entity
public class Funcionario {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private String matricula;
private String nome;

A classe do DAO:

    @Repository
    @Transactional
    public class FuncionarioDAO {
	@PersistenceContext
	private EntityManager manager;
	
	public void save(Funcionario funcionario){
		manager.persist(funcionario);
	}

	public List<Funcionario> findAll() {
		return manager.createQuery("select f from Funcionario f", Funcionario.class).getResultList();
	}

	public Funcionario find(String matricula) {
		return manager.createQuery("select distinct(f) from Funcionario f where f.matricula = :matricula", Funcionario.class).setParameter("matricula", matricula).getSingleResult();
	}
}

Meu controlador

@Controller
@RequestMapping("rhm/funcionario")
public class FuncionarioController {
@Autowired
private FuncionarioDAO funcionarioDAO;
@RequestMapping("/{matricula}")`
    	public ModelAndView edit(@PathVariable("matricula") String matricula){
    	    ModelAndView modelAndView = new ModelAndView("/rhm/funcionarioUpdate");
    	    Funcionario funcionario = funcionarioDAO.find(matricula);
    	    modelAndView.addObject("funcionario", funcionario);
    	    return modelAndView;
    	}	

    	@RequestMapping(value = "/save", method = RequestMethod.POST)
    	public ModelAndView save(MultipartFile fotoPath ,@Valid Funcionario funcionario, BindingResult result, RedirectAttributes redirectAttributes) {
    		if(result.hasErrors()) {
    			redirectAttributes.addFlashAttribute("message", "Erro ao salvar funcionário");
    			if(!funcionario.getMatricula().isEmpty()) {
    				return edit(funcionario.getMatricula());
    			}
    			return add(funcionario);
    		}
    		if(!fotoPath.isEmpty()) {
    			String path = fileSaver.write("fotos", fotoPath);
    			funcionario.setFoto(path);
    		}

    		funcionarioDAO.save(funcionario);
    		redirectAttributes.addFlashAttribute("message", "Funcionário cadastrado com Sucesso");
    		return new ModelAndView("redirect:/rhm/funcionario/all");
    	}

Meu form está assim:

<form action="/dome/rhm/funcionario/save" method="post" enctype="multipart/form-data">
Matrícula*
<form:input path="funcionario.matricula"  />
<form:hidden path="funcionario.id" />
Nome* <form:input path="funcionario.nome" />
Nascimento <input type="date" name="dtaNascimento" />
Foto <input type="file" name="fotoPath" />
</form>

Para criar novo registro vai normal, quando tento atualizar um registro:
GRAVE: Servlet.service() for servlet [dispatcher] in context with path [/dome] threw exception [Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: br.com.dome.model.Funcionario] with root cause

Mensagens: 1

Participantes: 1

Ler tópico completo

Consulta HQL Em uma View Postgres

$
0
0

@jorgereidinaldo escreveu:

Estou com uma consulta simples em hql no java com hibernate porem não estou conseguindo efetuar alguem poderia ajudar nesta duvida

identar texto pré-formatado por 4 espaços

public ArrayList getAgendamento() {
final ArrayList minhalista = new ArrayList();

				Iterator it;
		
		    	 abrirTransacao();
		    
		   try {
					
		    		 
		    	Query query=session.createQuery("From ViewAgendamento");
		    	System.out.println("X13");
		    			 it =query.list().iterator();
		    	
		    			// System.out.println("X14");
		    			   fecharTransacao();
		  
		 
		       
		        
		        while (it.hasNext()){  
		        	
		        	
		        	
		      
		     
		       
		       //  v=(ViewAgendamento) it.next();
		         ViewAgendamento b=new ViewAgendamento();
		        ViewAgendamentoId v=new ViewAgendamentoId();
		        v=(ViewAgendamentoId) it.next();
		        b.setId(v);
		        
		        
		        
		        System.out.println("Cliente "+b.getId().getNomeCliente());
		         
		          
		      
		      
		           minhalista.add(b);
		        
		        }  
		     
		    	 
			} catch (Exception e) {
				e.printStackTrace();			
			}
				
					
				
					
				

			return minhalista;
		}

Hibernate:
select
viewagenda0_.id_fila_espera as id1_38_,
viewagenda0_.fk_paciente as fk2_38_,
viewagenda0_.fk_profissional as fk3_38_,
viewagenda0_.data as data38_,
viewagenda0_.status as status38_,
viewagenda0_.horario as horario38_,
viewagenda0_.fk_convenio as fk7_38_,
viewagenda0_.nome_cliente as nome8_38_,
viewagenda0_.nascimento_cliente as nascimento9_38_,
viewagenda0_.fk_cidade as fk10_38_,
viewagenda0_.endereco_cliente as endereco11_38_,
viewagenda0_.numero_porta as numero12_38_,
viewagenda0_.tim as tim38_,
viewagenda0_.vivo as vivo38_,
viewagenda0_.claro as claro38_,
viewagenda0_.oi as oi38_,
viewagenda0_.rg_cliente as rg17_38_,
viewagenda0_.id_cliente as id18_38_,
viewagenda0_.fk_tipo_logradouro as fk19_38_,
viewagenda0_.fk_usuario as fk20_38_,
viewagenda0_.data_usuario as data21_38_,
viewagenda0_.nome_bairro as nome22_38_,
viewagenda0_.cpf as cpf38_,
viewagenda0_.nome_pai as nome24_38_,
viewagenda0_.nome_mae as nome25_38_,
viewagenda0_.responsavel as respons26_38_,
viewagenda0_.rg_responsavel as rg27_38_,
viewagenda0_.id_profissional as id28_38_,
viewagenda0_.nome_profissional as nome29_38_,
viewagenda0_.senha_profissional as senha30_38_,
viewagenda0_.registro_profissional as registro31_38_,
viewagenda0_.id_horario_atendimento as id32_38_,
viewagenda0_.horario_atendimento as horario33_38_,
viewagenda0_.id_convenio as id34_38_,
viewagenda0_.convenio as convenio38_,
viewagenda0_.id_status_atendimento as id36_38_,
viewagenda0_.status_atendimento as status37_38_
from
sc_clinica.view_agendamento viewagenda0_
java.lang.NullPointerException
at br.com.clinica.hibernatedao.ViewAgendamentoHibernateDao.getAgendamento(ViewAgendamentoHibernateDao.java:84)
at teste.Teste.main(Teste.java:8)

Mensagens: 2

Participantes: 2

Ler tópico completo

CriteriaQuery

$
0
0

@luanpaivaoficial escreveu:

Boa noite a todos!

Estou com muita dificuldade para fazer um select usando JPQL.
Mais precisamente este select:

SELECT sum(valor) as valor FROM despesas WHERE situacao = 'A PAGAR' and usuarios_id = ?

Usando JPQL ficaria assim:

TypedQuery<Double> query = em.createQuery("SELECT sum(d.valor) FROM Despesas d WHERE d.situacao = 'A PAGAR' and d.usuariosId.id = :id", Double.class)

Porém dá erro na parte sum(d.valor)

Após algumas pesquisas e tentativas, verifiquei que a maneira mais eficiente é com CriteriaQuery.
Porém ainda não consegui.

Poderiam me ajudar nessa?? Please!

Mensagens: 1

Participantes: 1

Ler tópico completo

Hibernate ManyToOne não salva (typeMismatch)

$
0
0

@castelhano escreveu:

Ola, estou tentando salvar um registro com relação ManyToOne (sou iniciante), porém o formulário é retornado da validação apresentando erro typeMismatch no campo referenciado da outra tabela, se eu retiro a validação o registro principal salva, porém o campo da FK fica null, segue meu código:
Modelo de Empresa

 @Entity
public class Empresa {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String nome;

@OneToMany(mappedBy = "empresa")
private List<Filial> filiais; 

public Long getId() {return id;}
public String getNome() {return nome;}
public List<Filial> getFiliais() {return filiais;}

public void setId(Long id) {this.id = id;}
public void setNome(String nome) {this.nome = nome;}
public void setFiliais(List<Filial> filiais) {this.filiais = filiais;}

}
Modelo Filial

@Entity
public class Filial {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String nome;

@ManyToOne(fetch = FetchType.EAGER)
@PrimaryKeyJoinColumn
private Empresa empresa;

public Long getId() {return id;}
public String getNome() {return nome;}
public Empresa getEmpresa() {return empresa;}

public void setId(Long id) {this.id = id;}
public void setNome(String nome) {this.nome = nome;}
public void setEmpresa(Empresa empresa) {this.empresa = empresa;}

}
Meu controler:

@Controller
public class FilialController {
@Autowired
	private FilialDAO filialDAO;
@Autowired
	private EmpresaDAO empresaDAO;
....
}
@RequestMapping(value="/save", method = RequestMethod.POST)
	public ModelAndView add(@Valid Filial filial, BindingResult result, RedirectAttributes redirectAttributes) {
		if(result.hasErrors()) {
			return add(filial);
		}
		filialDAO.save(filial);
		redirectAttributes.addFlashAttribute("message", "Filial criada com Sucesso");
		return new ModelAndView("redirect:/sys/filial/all");
	
	}

Filial DAO:

@Repository
@Transactional
public class FilialDAO {

	@PersistenceContext
	private EntityManager manager;
	
	public void save(Filial filial){
		manager.persist(filial);
	}

No meu jsp estou usando o campo assim:

<label class="labelForm" for="empresa">Empresa*</label>
<form:select path="filial.empresa" items="${empresas}" itemLabel="nome" itemValue="id" />

Ele carregas as empresas no select normal, acho que deve ser erro simples, mais não consigo identificar…

Mensagens: 2

Participantes: 2

Ler tópico completo

Viewing all 759 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>