У меня есть таблица с пользователями, и я пытаюсь получить список с людьми, у которых сегодня день рождения, чтобы приложение могло отправить электронное письмо.
Пользователь определен как
@Entity
public class User {
@Size(max = 30)
@NotNull
private String name;
[...]
@Temporal(TemporalType.DATE)
@DateTimeFormat(style = "S-")
protected Date birthday;
}
и у меня есть метод, который возвращает людей, которые родились сегодня, вот так:
@SuppressWarnings("unchecked")
public static List<User> findUsersWithBirthday() {
List<User> users =
entityManager().createQuery("select u from User u where u.birthday = :date")
.setParameter("date", new Date(), TemporalType.DATE)
.getResultList();
return users;
}
Это хорошо, и это все для поиска людей, которые родились сегодня, однако это не очень полезно, поэтому я 'Мы изо всех сил пытались найти всех пользователей, которые родились сегодня, независимо от года.
Используя MySQL, есть функции, которые я могу использовать, например
select month(curdate()) as month, dayofmonth(curdate()) as day
Однако я изо всех сил пыталсячтобы найти эквивалент JPA для этого.
Я использую Spring 3.0.1 и Hibernate 3.3.2