Skip to content

Instantly share code, notes, and snippets.

View wkrzywiec's full-sized avatar
👦
Software Engineer

Wojtek Krzywiec wkrzywiec

👦
Software Engineer
View GitHub Profile
@wkrzywiec
wkrzywiec / UserDAO.java
Created May 4, 2018 13:30
Medium 6 - simple query
org.apache.lucene.search.Query luceneQuery = queryBuilder
.keyword()
.onField("email")
.matching("edard.stark@winterfell.com")
.createQuery();
@wkrzywiec
wkrzywiec / UserDAO.java
Last active May 4, 2018 13:22
Medium 6 - QueryBuilder
@Autowired
private EntityManager entityManager;
...
//inside UserDAO method
FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory()
@wkrzywiec
wkrzywiec / UserDAOImpl.java
Created May 3, 2018 09:11
Medium 6 - DAO
@Repository
public class UserDAOImpl implements UserDAO {
@PersistenceContext
private EntityManager entityManager;
@Override
@Service("userDetailService")
public class LibraryUserDetailService implements UserDetailsService, UserService {
@Autowired
private UserDAO userDAO;
@Override
public List<com.wkrzywiec.spring.library.entity.User> searchUsers(String searchText, int pageNo,
int resultsPerPage) {
@wkrzywiec
wkrzywiec / LibraryController.java
Last active May 3, 2018 08:51
Medium 6 - Controller
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.wkrzywiec.spring.library.service.LibraryUserDetailService;
@Controller
public class LibraryController {
@wkrzywiec
wkrzywiec / UserDetails.java
Created May 3, 2018 08:31
Medium 6 - UserDetail
import javax.persistence.*;
import org.hibernate.search.annotations.*;
@Entity
@Table(name="user_detail")
public class UserDetail {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@wkrzywiec
wkrzywiec / User.java
Created May 3, 2018 08:31
Medium 6 - User class
import javax.persistence.*;
import org.hibernate.search.annotations.*;
@Entity
@Table(name="user")
@Indexed
public class User {
@Id
import javax.persistence.*;
import javax.transaction.*;
import org.hibernate.search.jpa.*;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.*;
@Component
@wkrzywiec
wkrzywiec / build.gradle
Created May 3, 2018 08:14
Medium 6 - dependecies
compile 'org.hibernate:hibernate-search-orm:5.9.1.Final'
@wkrzywiec
wkrzywiec / User.java
Created May 3, 2018 08:11
Medium 6 - indexed
import org.hibernate.search.annotations.*;
@Entity
@Table(name="user")
@Indexed
public class User {
@Column(name="username")
@Field
private String username;