Skip to content

Instantly share code, notes, and snippets.

@dmitry-osin
Last active October 30, 2018 11:30
Show Gist options
  • Select an option

  • Save dmitry-osin/5d15776067421e09df68a3348e6233fe to your computer and use it in GitHub Desktop.

Select an option

Save dmitry-osin/5d15776067421e09df68a3348e6233fe to your computer and use it in GitHub Desktop.
package pw.osin.example.data;
import pw.osin.example.model.Tweet;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import java.util.List;
public class TweetRepositoryImpl extends AbstractJPADataAccess<Long, Tweet> implements TweetRepository {
private EntityManager entityManager = Persistence.createEntityManagerFactory("tweetPU").createEntityManager();
// @PersistenceContext(unitName = "tweetPU") для Java EE
// private EntityManager entityManager;
protected EntityManager getEntityManager() {
return entityManager;
}
protected Class<Tweet> getType() {
return Tweet.class;
}
public List<Tweet> findByQuery(String query) {
final TypedQuery<Tweet> typedQuery = getEntityManager().createQuery("SELECT tweet FROM Tweet tweet WHERE LOWER(tweet.text) LIKE CONCAT('%', LOWER(:query) , '%')", Tweet.class);
typedQuery.setParameter("query", query);
return typedQuery.getResultList();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment