Articles of jpa

Hibernate, @SequenceGenerator e allocationSize

Nós todos sabemos o comportamento padrão do Hibernate quando usamos @SequenceGenerator – ele aumenta a sequência real do database em um , multiplique esse valor por 50 (valor default allocationSize ) – e então usa esse valor como ID da entidade. Este é um comportamento incorreto e entra em conflito com a especificação, que diz: […]

Como gerar o metamodelo do JPA 2.0?

No espírito do tipo de segurança associado ao CriteriaQuery, o JPA 2.0 também tem uma API para suportar a representação de entidades do Metamodelo . Alguém está ciente de uma implementação totalmente funcional desta API (para gerar o Metamodelo ao invés de criar as classs do metamodelo manualmente)? Seria ótimo se alguém também soubesse os […]

JPA: como ter uma relação de um para muitos do mesmo tipo de entidade

Há uma class de entidade “A”. A class A pode ter filhos do mesmo tipo “A”. Além disso, “A” deve manter seu pai, se for um filho. Isso é possível? Se sim, como devo mapear as relações na class Entity? [“A” tem uma coluna de id.]

Hibernate e não PK

É possível criar uma tabela (a partir de um @Entity anotado Hibernate @Entity ) que não contém uma chave primária / Id? Eu sei que isso não é uma boa ideia; uma tabela deve ter uma chave primária.

Configurando Valores Padrão para Colunas no JPA

É possível definir um valor padrão para colunas no JPA e, se, como é feito usando annotations?

Como carregar itens extraídos do Hibernate / JPA no meu controlador

Eu tenho uma class Person: @Entity public class Person { @Id @GeneratedValue private Long id; @ManyToMany(fetch = FetchType.LAZY) private List roles; // etc } Com uma relação muitos-para-muitos que é preguiçosa. No meu controlador eu tenho @Controller @RequestMapping(“/person”) public class PersonController { @Autowired PersonRepository personRepository; @RequestMapping(“/get”) public @ResponseBody Person getPerson() { Person person = personRepository.findOne(1L); […]

Qual é a solução para o problema N + 1 no JPA e no Hibernate?

Eu entendo que o problema N + 1 é onde uma consulta é executada para buscar N registros e N consultas para buscar alguns registros relacionais. Mas como pode ser evitado no Hibernate?

Consultas Nativas de JPA / Hibernate não reconhecem parameters

Eu estou usando o Hibernate / JPA para executar consultas PostGIS nativas. O problema com essas consultas é que elas precisam de parâmetros que não são da forma clássica de X = ‘valor’. Por exemplo, as seguintes linhas falharem String queryString = “select * from Cell c where ST_DWithin(c.shape, SetSRID(ST_GeomFromEWKT(‘POINT(:lon :lat)’),4326), 0.1)”; Query query = […]

“Detached entity passed to persist error” com o código JPA / EJB

Eu estou tentando executar este código JPA / EJB básico: public static void main(String[] args){ UserBean user = new UserBean(); user.setId(1); user.setUserName(“name1”); user.setPassword(“passwd1”); em.persist(user); } Eu recebo este erro: javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.JPA.Database Alguma ideia? Eu pesquiso na internet e o motivo que encontrei foi: Isso foi causado por como […]

Unidade de persistência como RESOURCE_LOCAL ou JTA?

Eu tenho consultas como abaixo: Qual é a diferença desses dois? Ambos são suportados por todos os bancos de dados? O JPA TransactionManager e o JTA TransactionManager são diferentes?