Package org.hibernate.examples.jpa.repository

Source Code of org.hibernate.examples.jpa.repository.QueryDslRepositoryTest

package org.hibernate.examples.jpa.repository;

import com.mysema.query.jpa.impl.JPAQuery;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.examples.AbstractJpaTest;
import org.hibernate.examples.mapping.Employee;
import org.hibernate.examples.mapping.QEmployee;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import static org.fest.assertions.Assertions.assertThat;

/**
* org.hibernate.examples.jpa.repository.QueryDslRepositoryTest
*
* @author 배성혁 sunghyouk.bae@gmail.com
* @since 2013. 11. 28. 오후 11:03
*/
@Slf4j
@Transactional
public class QueryDslRepositoryTest extends AbstractJpaTest {

    @Autowired
    EmployeeRepository employeeRepository;

    @PersistenceContext
    EntityManager em;

    @Test
    public void findAllTest() {
        Employee emp = new Employee();
        emp.setName("Sunghyouk Bae");
        emp.setEmpNo("21011");
        emp = employeeRepository.save(emp);

        QEmployee $ = QEmployee.employee;
        JPAQuery query = new JPAQuery(em);

        Employee loaded = query.from($)
                               .where($.empNo.eq("21011"))
                               .uniqueResult($);

        assertThat(loaded).isNotNull();
        assertThat(loaded.getEmpNo()).isEqualTo(emp.getEmpNo());
        assertThat(loaded).isEqualTo(emp);
        assertThat(loaded.isPersisted()).isTrue();
    }
}
TOP

Related Classes of org.hibernate.examples.jpa.repository.QueryDslRepositoryTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.