Articles of jpa

Por que precisamos especificar a class dentro do elemento ?

Meu persistence.xml tem 2 unidades de persistência. Cada um deles tem vários elementos . Eu pensei que devemos especificar todas as classs relacionadas a determinada unidade de persistência. Mas eu acidentalmente esqueci de especificar o elemento de class para a nova entidade, mas o programa funcionou bem mesmo sem ele. Então eu removi todos os […]

Spring Data REST – diferença entre @PrePersist e @HandleBeforeCreate?

Eu uso Spring Data Rest sobre mapeamentos JPA . O JPA fornece a anotação @PrePersist para que os methods sejam chamados antes da persistência de uma entidade no database. O Spring Data Rest fornece a anotação @HandleBeforeCreate para que o método seja chamado ao capturar um evento de criação de entidade. Isso parece bastante equivalente […]

Spring Data JPA JpaRepository.save (entidade) não retornando valores padrão do database

Eu tenho um problema bastante simples. Em uma única transação, meu código se parece com algo assim: MyClass c = new MyClass(); c.setPropA(“A”); c = myClassRepository.save(c); c.setPropC(“C”); Onde minha entidade se parece com isso: @Entity @Table(name = “MY_CLASS”) public class MyClass { private String propA; private String propB; private String propC; @Id @Column(name = “PROP_A”, […]

Como posso evitar a criação de entidades supérfluas?

No meu projeto atual, preciso realizar algumas consultas nativas que selecionam alguns campos das tabelas unidas na consulta, por exemplo: SELECT t1.col1, t2.col5 FROM t1 JOIN t2 ON t2.id = t1.t2_id Eu tentei armazená-los em uma aula como class Result { String t1_col1; String t2_col5; } usando Query q = entityManager.createNativeQuery( “THE SQL SELECT” , […]

Criação de consulta em Spring Data – dynamic where clause

Existe uma maneira nos dados do Spring para formar dinamicamente a cláusula where? O que eu quero fazer é ter um método (que é como o método findBy / get) que executa um WHERE e AND usando as propriedades mencionadas que são NOT NULL. Por exemplo, Consider the object Person [firstName, lastName, age, gender] Nosso […]

Deve a class jpa incorporável implementar equals e hashCode?

Vamos supor que eu tenha o seguinte cenário: @Entity public class Person { @Id private Long id; //Surrogate key @Embedded private Name name; //Natural key public int hashCode() { … //based on natural key Name } public boolean equals(Object obj) { … //based on natural key Name } } @Embeddable public class Name { private […]

Objeto nulo se entidade não encontrada

Estou trabalhando com o Hibernate e o JPA. Eu tenho uma entidade chamada Customer que faz referência a um ParentCustomer : public class Customer { @Id @GeneratedValue @Column(name = “CustomerID”) private int id; @ManyToOne @JoinColumn(name = “ParentCustomerID”) private Customer parent; // … } Mas no meu database há alguns clientes que não têm pai, então […]

Usando @IdClass para armazenar entidade com chave primária composta, mas falha ao persistir

minha class id como segue, public class EmployeeId implements Serializable{ public EmployeeId(){} public EmployeeId(Integer id, String country){ this.id = id; this.country = country; } private Integer id; private String country; @Override public int hashCode(){ return this.getCountry().hashCode() + getId(); } @Override public boolean equals(Object o){ boolean flag = false; EmployeeId myId = (EmployeeId) o; if((o instanceof […]

Existe uma maneira de reduzir a quantidade de código da placa de caldeira associada a uma CriteriaQuery (no JPA 2.0)?

Eu amo o tipo de segurança CriteriaQuery traz JPA 2.0, mas também traz um pouco de código de placa de caldeira. Por exemplo, digamos que eu tenha uma entidade chamada NamedEntity, que simplesmente tem um id e um campo String chamado “name” (suponha que tenha a restrição exclusiva definida como true). Aqui está o que […]

Chave composta do Hibernate JPA ManyToOne

Estou tentando configurar minha entidade para permitir pks. Meu database consiste em dois campos, dealer_detail_id pk user_detail_id pk Ambos se juntam no id em tabelas correspondentes. Eu tentei isso até agora sem sucesso. @Embeddable public class DealerUserPk implements Serializable { private Integer dealerDetail; private Integer userDetail; DealerUser @Embeddable @Table(name = “dealer_user”, schema = “account”) public […]