34. public class OrderRepositoryJpaImpl
implements OrderRepository {
List<Order> findAll() {
EntityManager em =
Query q = em.createQuery(“SELECT o FROM Order o”);
List<Order> results = new ArrayList<Order>();
for(Order order : q.getResultList()) {
results.add(order);
}
return results;
}
} No Spring-Data
public interface OrderJpaRepository
extends JpaRepository<Order, Long>, OrderRepository {
}
Yes, Spring-Data!!
39. Logic Keyword
AFTER After / IsAfter
BEFORE Before / IsBefore
CONTAINING Containing / IsContaining / Contains
BETWEEN Between / IsBetween
ENDING WITH EndingWith / IsEndingWith / EndsWith
EXISTS Exists
FALSE False / IsFalse
GREATER THAN GreaterThan / IsGreaterThan
GREATER THAN
GreaterThanEqual / IsGreaterThanEqual
EQUALS
IN In / IsIn
IS Is / Equals
IS NOT NULL NotNull / IsNotNull
40. Logic Keyword
IS NULL Null / IsNull
LESS THAN LessThan / IsLessThan
LESS THAN EQUALS LessThanEqual / IsLessThanEqual
LIKE Like / IsLike
NEAR Near / IsNear
NOT Not / IsNot
NOT LIKE NotLike / IsNotLike
REGEX Regex / MatchesRegex / Maches
STARTING WITH StartingWith / IsStartingWith / StartsWith
TRUE True / IsTrue
WITHIN Within / IsWithin
42. // Order
@Entity
@NamedQuery(
name=”Order.findByProfitThan100”,
query=”select o from Order o where price - cost > 100”)
class Order {
// ...
}
// OrderJpaRepository
public interface OrderJpaRepository
extends JpaRepository<Order, Long>, OrderRepository {
List<Order> findByProfitThan100();
@Query(“select o from Order o where price - cost > 0”)
List<Order> findByPositiveProfit();
@Query(“select o from Order o where price > ?1”)
List<Order> findByPriceGreaterThanArg(double price);
// ....
}
@Query Annotation