如何在java中使用Criteria获取单个记录
Table User{
String id;
String name;
Date created_at;
Set<Subscription> key;
}
Table Subscription {
String key;
Date expiry;
}
我必须使用订阅密钥列表找到用户,但因为一个密钥有多个用户。我必须只采用首先创建的第一个用户。
我的代码:
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<User> criteriaQuery = criteriaBuilder.createQuery(User.class);
Root<User> userRoot = criteriaQuery.from(User.class);
SetJoin<User, Subscription> subscriptionJoin= userRoot.join(USer_.key);
criteriaQuery.where(criteriaBuilder.and(subscriptionJoin.get(.key).in(keys)));
criteriaQuery.orderBy(criteriaBuilder.desc(userRoot_.get(user_.CREATED_AT)));
Table User{
String id;
String name;
Date created_at;
Set<Subscription> key;
}
Table Subscription {
String key;
Date expiry;
}
I have to find user using list of subscription key but since one key is having multiple user. I have to take only the first user which is created first.
My code :
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<User> criteriaQuery = criteriaBuilder.createQuery(User.class);
Root<User> userRoot = criteriaQuery.from(User.class);
SetJoin<User, Subscription> subscriptionJoin= userRoot.join(USer_.key);
criteriaQuery.where(criteriaBuilder.and(subscriptionJoin.get(.key).in(keys)));
criteriaQuery.orderBy(criteriaBuilder.desc(userRoot_.get(user_.CREATED_AT)));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论