【发布时间】:2011-08-01 21:32:39
【问题描述】:
为了获得更多活力,我想在我的应用中添加一个随机部分。 以下是我在其他技术中会做的事情,以及不起作用的事情:
long id = JPA.execute("select id from Realisation r order by RANDOM() LIMIT 1");
这里是堆栈:
unexpected token: LIMIT near line 1, column 55
评论:
- 无论是在应用程序还是数据库中,对我来说都没有区别。
- 数据库中有大约一百个“实现”。
- 我需要的只是 ID,不需要完整的对象。
- 这一切都是 MySQL 数据库。
编辑
经过一番调查,这是我的做法:
- 在 application.conf 中定义 jpa.dialect:
jpa.dialect=org.hibernate.dialect.MySQLDialect - 使用经典的模型实用程序获取完整的对象,而不仅仅是 id:
Realisation r = Realisation.find("order by RAND()").first();
【问题讨论】:
-
这不一定是答案,但看起来这里有一些很好的信息:akinas.com/pages/en/blog/mysql_random_row
-
是的,谢谢,但问题是特定于 JPA/HQL 而不是 MySQL。
标签: jpa random playframework