我有一个用户和一个角色类:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@OrderBy("name")
@ManyToMany(fetch=FetchType.EAGER)
private SortedSet<Role> roles;
}
@Entity
public class Role {
@Id
@GeneratedValue(stra
我想按长度对我的条款排序,这相当于:
SELECT term FROM <table_name> where term like '%now%' order by length(term ) asc;
在hibernate中。
目前,这是我的标准代码:
Criteria criteria = session.createCriteria(myClass.class);
criteria.setProjection(Projections.distinct(Projections.property("term")));
cri
有带有params的Event实体:id long和isActive boolean,目的是按照id desc对其进行排序,但是值1的isActive应该位于列表的首位,只有在该值之后才会达到0值(不混合)。我是否可以只使用Hibernate查询,或者首先创建查询FROM Event event order by active desc,然后使用java.util.Comparator?
我是新的春天和面临问题的JPQL,nativeQuery。在执行读取操作时,本机查询工作正常。
@Query(value="select * from student s where s.name= :name", nativeQuery=true)
List<Student> getStudentByName(String name);
在数据库上执行删除操作时工作但不起作用
@Query(value="delete from student s where s.name= :name",nativeQuery = true)
vo
TL;DR
问题是:
是否有方法在一个表中对不同表的属性排序?
继续阅读以获取更多的上下文。
在我的项目中,我有以下抽象类QueryParams
public abstract class QueryParams {
public static final int DEFAULT_PAGE_NUMBER = 0;
public static final int DEFAULT_PAGE_SIZE = 50;
private String sort;
private int page = DEFAULT_PAGE_NUMBER;
private int
我有一组使用Spring ROO生成的实体。在执行了几个命令之后,基本上使用了web mvc,我就有了一组从数据库中获取内容的链接。我需要根据标题对内容进行排序,而不是表中的顺序。我该怎么做呢?是否有任何Spring ROO命令或注释来订购项目。
有关更多信息,我使用Spring Roo 1.2.1,我得到的finder如下所示。
public static List<Deporte> Deporte.findAllDeportes() {
return entityManager().createQuery("SELECT o FROM Deporte o
我有一个查询从db中选择类似的实体。
Query query = entityManager.createQuery("select c from Case c where c.lastName = :lastName");
但我有个问题。
实体的‘姓氏’值是'SAĞLAM‘,查询的参数是'SAGLAM’,反之亦然。因此,查询不会给出实体。
C/Ş、S/Ğ、G/Ğ、O/O、U/U、I/İ出现这种情况。
我该如何解决这个问题?我能写个regex吗?
我有两个实体
@Entity
@Table(name = "users")
public class User extends Model {
public String name;
@ManyToMany
public List<Role> roles;
}
和
@Entity
@Table(name = "roles")
public class Role extends Model {
public String name;
}
表包含
Table Users | | Table Roles |
我有一个按2个日期对实体进行排序的查询:
@Query(value = "from Order order by CASE WHEN created > updated THEN created ELSE updated END desc")
我能在@OrderBy赋值中对@OneToMany做同样的事情吗?
@OneToMany(cascade = CascadeType.ALL ,mappedBy = "order", fetch = FetchType.EAGER)
@OrderBy(...)
private List<Dish> dis
我正在使用eclipse indigo,并且遇到了"JPA验证问题“。
我的命名查询是:
from Person p where p.name = :name
并且有这样的错误:
The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM.
但它是一个有效的JPQL查询。有人知道怎样才能消除这个错误吗?
如果我将查询更改为
select p from Person p where p.name = :name
没有更多的错误,但我不想更改所有的查询。
谢
我需要通过以下查询从我的数据库中获取用户:
SELECT * FROM users
WHERE first_name = 'Aragorn'
AND last_name = 'SonOfAratorn'
AND city = 'Osgiliot'
AND country = 'Gondor'
问题是,在我的应用程序中,我经常会缺少城市或国家,或者两者都缺少。
我可以为此进行3到4个HQL查询,但这似乎不是一个非常有效的解决方案。
当这两个属性(城市和国家)中的一个或两个都为空时,有没有办法只有一个查询,以及如何将该查询转换为HQL
这是一个问题的概述..
public class Student
{
private Map<Test,MarkWrapper> marks;
...
}
public class MarkWrapper
{
private List<Mark> marks;
...
}
public class Test
{
private String name;
private Date date;
..
}
public class Mark
{
private int mark;
private int total;
privat
在Hibernate @OrderBy注释中是否可以使用CASE WHEN ... END甚至本机SQL?多么?
例如( Child对象具有type属性):
@OneToMany
@OrderBy("CASE WHEN type='GIRL' THEN 1 WHEN type='BOY' THEN 2 ELSE 3 END ASC")
private List<Child> children;
我有这个问题,替换函数无法使用eclipselink版本2.5.2。
这是我的代码:
String sSql = " SELECT e FROM br.com.megasoft.protocolo.entity.Assunto e WHERE ( REPLACE(REPLACE(REPLACE( UPPER(e.titulo), '/', ''), '-', ''), '.', '') LIKE UPPER('A') )";
TypedQuery<?>
我需要比较JPQL查询中的两个日期,但它不起作用。
下面是我的问题:
Query query = em.createQuery(
"SELECT h
FROM PositionHistoric h,
SeoDate d
WHERE h.primaryKey.siteDb = :site
AND h.primaryKey.engineDb = :engine
AND h.primaryKey.keywordDb = :keyword
AND h.date = d
AND d.date &
我有以下问题。我想在我的spring boot项目中执行这个查询。我尝试使用JPA存储库接口中的查询注释来完成此操作。但它在内部连接时显示“意外选择”。当我直接在我的mySQL数据库上执行这个查询时,它将会工作。
有没有人有解决这个问题的办法?
这是我的问题:
SELECT t1.*
FROM az_manager t1
INNER JOIN
(
SELECT maID, MAX(datum) AS max_date
FROM az_manager
WHERE maID IN (7243, 1)
GROUP BY maID
) t2
ON t1.maID
因此,我有下一个JPQL查询:
SELECT NEW GroupByBooksCount(g.genreId, g.genreName, COUNT(g.genreId))
FROM Genre g
JOIN Book b ON
g.genreId = b.genreId
GROUP BY g.genreId
返回具有3个值的me对象:
genreId, genreName, booksCountInGenre
如何使用JPQL根据booksCountInGenre参数对结果进行排序?或者说还有其他一些方法来做这个选择?
谢谢!
我有实体团队,游戏和TeamInGame。要选择按我使用的最后一场比赛排序的球队:
Query query = em.createQuery("select tg.team, max(tg.game.gameDate) as maxDate" +
" from TeamInGame tg" +
" group by tg.team" +
" order by maxDate desc");
return Lists.transform(query.getResultList(), new Function<Object[]
我正在使用下面的jpql进行查询,但它给了我一个错误,我不知道如何在一条语句中使用多个AND。我已经添加了我要质疑的例外。
1)查询
Query query = em.createQuery(
"SELECT n FROM Notification n WHERE (n.recipientEmail='"
+ user.getEmail()
+ "' AND n.isUnread='"+1+"')
我的问题是如何在JPA中执行UNION ALL子句?可以使用@NamedQuery吗?该查询在每个SELECT语句中一次使用两个表,最后使用ORDER BY
SELECT 0 as intorder, u.id, q.order_type
FROM test_union u, test_query q
WHERE u.id = q.id
AND u.type is NULL
AND q.field1 = 'DEFAULTS'
UNION ALL
SELECT 1 as intorder, u.id, q.
是否有与SQL BINARY等效的JPQL中的运算符?
我在谷歌上搜索了很多,发现没有人提到它。
提前感谢!
对于二进制操作符,下面是在.中的描述
The BINARY operator casts the string following it to a binary string.
This is an easy way to force a column comparison to be done byte by byte
rather than character by character. This causes the comparison to be case
sensi
@Query注释只支持JPA查询语法或Hibernate (HQL)?或者他们两个我都有点困惑
interface TodoRepository extends CrudRepository<Todo, Long> {
@Async
@Query("SELECT t.title FROM Todo t where t.id = :id")
Book<String> findTitleById(@Param("id") Long id);