Articles of hibernate

Criteria.DISTINCT_ROOT_ENTITY vs Projecções.distinct

Eu sou muito novo no Hibernate. Descobri que podemos obter resultados distintos usando duas maneiras diferentes. Alguém poderia me dizer qual é a diferença entre eles? Quando usar um sobre outro? Projections.distinct(Projections.property(“id”)); vs criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

Não há mais dados para ler do erro de soquete

Estamos usando o Oracle como database para nosso aplicativo da Web. O aplicativo é executado na maioria das vezes, mas obtemos o erro “Não há mais dados para ler do soquete”. Caused by: java.sql.SQLRecoverableException: No more data to read from socket at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1142) at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1099) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:863) […]

Como você cria uma consulta distinta em HQL

Existe uma maneira de criar uma consulta distinta no HQL. Ou usando a palavra-chave “distinta” ou algum outro método. Não tenho certeza se distinto é um keywork válido para HQL, mas estou procurando o equivalente HQL da palavra-chave SQL “distinct”.

Mapeando um array do PostgreSQL com o Hibernate

Alguém mapeou com sucesso um array numérico no PostgreSQL para um array numérico em java via Hibernate? sql: CREATE TABLE sal_emp (name text, pay_by_quarter integer[]); INSERT INTO sal_emp VALUES (‘one’, ‘{1,2,3}’); INSERT INTO sal_emp VALUES (‘two’, ‘{4,5,6}’); INSERT INTO sal_emp VALUES (‘three’, ‘{2,4,6}’); mapeamento: class: public class SalEmp implements Serializable{ private String name; private Integer[] […]

Usando ScrollableResults do Hibernate para ler lentamente 90 milhões de registros

Eu simplesmente preciso ler cada linha em uma tabela no meu database MySQL usando o Hibernate e gravar um arquivo baseado nele. Mas existem 90 milhões de linhas e elas são bem grandes. Então, parecia que o seguinte seria apropriado: ScrollableResults results = session.createQuery(“SELECT person FROM Person person”) .setReadOnly(true).setCacheable(false).scroll(ScrollMode.FORWARD_ONLY); while (results.next()) storeInFile(results.get()[0]); O problema é […]

Por que preciso de Transação no Hibernate para operação somente leitura?

Por que preciso de Transação no Hibernate para operação somente leitura? A transação a seguir coloca um bloqueio no db? Exemplo de código para buscar a partir do db: Transaction tx = HibernateUtil.getCurrentSession().beginTransaction(); // why begin transaction? //readonly operation here tx.commit() // why tx.commit? I don’t want to write anything Posso usar session.close() vez de […]

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: […]

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.

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); […]

org.hibernate.MappingException: Não foi possível determinar o tipo de: java.util.List, na tabela: College, para colunas:

Agora, estou aprendendo hibernate e comecei a usá-lo no meu projeto. É um aplicativo CRUD. Eu usei o modo de hibernação para todas as operações brutas. Isso funciona para todos eles. Mas, o um-para-muitos e muitos-para-um, estou cansado de tentar. Finalmente, isso me dá o erro abaixo. org.hibernate.MappingException: Could not determine type for: java.util.List, at […]