【问题标题】:Hibernate : limit rows in a tableHibernate:限制表中的行
【发布时间】:2014-04-25 11:50:55
【问题描述】:

我正在使用休眠。

我有这样的桌子:

表备份(ID、TIMESTAMP、DATA)

此表在任何时候都应该最多有 20 行。因此,在此表中插入行时。我应该总是检查表中的行数。如果小于 20 则可以插入数据。

但是,如果表大小已经是 20,则应删除最旧的行,然后插入新行。

因为这是一个网络应用程序,所以可以有多个线程。

请建议 hibernate 或 JPA 中是否有任何内置功能来支持此功能。 如果没有,那如何实现呢?

提前致谢。

【问题讨论】:

  • 您还可以创建“插入前”触发器。您使用的是什么 DBMS?
  • @sp00m 我认为您的意思是 DB 而不是 DBMS。 dbms 与休眠无关
  • @PhilippSander 这个解决方案与 Hibernate 都没有关系...DBMS 表示 MySQL、Oracle、PostgreSQL 等。
  • 没有这样的内置功能。您必须在代码中手动处理此问题才能应用此业务逻辑。
  • @PhilippSander 好吧,实际上这些不是 DBMS,而是各种 IDE...

标签: java database hibernate jpa


【解决方案1】:

可以用这个

Query.setMaxResults()

因为限制从未像在 SQL 中那样在 Hibernate 中实现

这里有一个类似的帖子,它可能对你有所帮助..

How do you do a limit query in HQL?

【讨论】:

  • setMaxResult 用于限制查询结果。我想限制表中的行数。
  • @nimit 我不明白你在问什么,你是说你想将表中的行数限制在一定数量吗?如果是这样,我认为这是一个数据库的事情,与休眠无关。
猜你喜欢
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 2021-09-12
  • 1970-01-01
  • 2015-12-16
  • 2023-03-29
  • 1970-01-01
相关资源
最近更新 更多