问题标签 [hql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - 在 HQL 中执行日期/时间数学?
我正在寻找如何在 HQL 查询中执行日期/时间数学。具体来说,如何从current_timestamp()
函数的结果中添加或减去 (x) 时间量?或者我是否必须为此投入 SQL 并希望正在运行的任何数据库都支持它?
HQL 查询示例:
我可以将 :timeToSubtract 参数定义为任何特定单位,但任何大于小时的单位都是不可取的,而秒是最可取的。
澄清:我意识到这可以在查询之外轻松完成。但是出于哲学原因,假设使用数据库服务器的时间而不是查询系统的时间很重要。实际示例:我正在查询在最后 (x) 时间内创建的所有条目的自动时间戳。由于时间戳是由数据库系统生成的,因此使用数据库的当前时间也很重要。
hibernate - 集合中的 HQL 排序依据
我有 2 个实体:汽车和车轮(oneToMany),我想取回我的汽车,所有的车轮和(这是棘手的部分)由 wheel.location 排序。下面的代码引发异常,并显示消息“非法尝试取消引用集合”。
任何想法如何做到这一点,如果这在 HQL 中是可能的?
nhibernate - 如何在 Castle ActiveRecord 查询中返回一组有限的列?
并让它映射到强类型对象?
假设我有一个带有 Id、Name、Posted、IsUglyFace、YerMom 的实体博客
但我只想要/需要 Name 和 Posted 列。我试图做类似的事情:
IList blogs = repository.SimpleQuery("select Name, Posted from Blog");
这会输出大量 SQL 并返回错误,无法映射到给定对象。
hibernate - 在休眠中分组
我正在将旧的“经典 ASP”应用程序迁移到 J2EE/Hibernate。我对以下类型的 SQL 语句有疑问:
如何在 HQL 中表达这样的内容?我试图将孩子映射为一个集合(通过使用多对一)并从集合大小中获取孩子的数量,但是 Hibernate 必须分别为每个父母加载所有“孩子”实体。
这导致执行大约 1000 个 DB 查询而不是 1 个,从而导致性能问题。
有没有办法解决?
nhibernate - 如何取回使用 Castle 的 ActiveRecord 查询多个实体的强类型集合?
我正在尝试获取一组特定的数据,同时将 4 个不同的实体连接在一起。我所做的是设置一个 DTO 来尝试让它工作:
现在我想我可以像这样使用 SimpleQuery:
返回 repository.SimpleQuery(0, 10, hql);
我的存储库方法如下所示:
现在它要求我将 [ActiveRecord] 放在我的 LatestThread 类的顶部。当我这样做时,它需要一个主键,这似乎是错误的路线。
我还阅读了一些引用赋予非 DTO 类的 Import 属性的位。在所有示例中,虽然它只是加入了两个实体,而不是我拥有的 4 个。我需要将 Import 添加到所有 4 个吗?或者有什么可以告诉 AR 它是一个只读的 DTO 类?或者我做这一切都错了,有一种非常简单的方法可以做我想做的事情。
蒂亚!
nhibernate - NHibernate:HQL 等效于 Criteria Expression.In()?
您将如何在 HQL 中表达以下 Criteria 查询?
我知道 HQL 中有一个“in”关键字,但据我了解,该关键字用于子查询,而不是像“... where Id in (1, 2, 3, 4, 5)”之类的东西之类的。如果不是这样,我很乐意接受更正。
谢谢/埃里克
.net - 如何使用 NHibernate 中的 Criteria API 进行自定义投影?
使用 HQL,我可以像这样使用动态实例化:
现在我需要使用 Criteria API 动态创建我的查询。如何获得与使用 HQL 获得的相同结果,但使用 Criteria API?
谢谢你。
java - 休眠条件:在没有映射关联的情况下加入表
我想使用 Hibernate 的标准 api 来制定一个连接两个实体的特定查询。假设我有两个实体,宠物和所有者,所有者有很多宠物,但至关重要的是,该关联没有映射到 Java 注释或 xml 中。
使用 hql,我可以通过在查询中指定联接来选择拥有名为“fido”的宠物的所有者(而不是将一组宠物添加到所有者类中)。
可以使用休眠标准完成相同的操作吗?如果有怎么办?
谢谢,J
nhibernate - NHibernate:在 HQL 中返回一个常量
我需要从 NHIbernate 中的 HQL 查询中返回一个常量
我正在尝试类似上面的东西。我试过这个:
然后后来:
但在第一种情况下,我得到一个“未定义的别名或未知的映射 1”。这是有道理的,因为它可能认为 1 是别名。
第二个我得到一个“未定义的别名或未知的映射:someNumber”,如果它从不设置参数,这又是有意义的。
我必须相信有某种方法可以做到这一点。
sql-server - 在 SQL Server 2008 上使用 HQL 获取标记和标记计数
我正在使用 SQL Server 2008 上的 NHibernate 在特定实体上实现标记。我现在拥有的结构是简化的,如下所示:
没什么特别的:一个实体可以用同一个标签多次标记,因为该关联还包括有关标记该实体的用户和其他内容的数据。
现在,我正在尝试获取特定实体的标签列表,以及标签被应用的次数。在 HQL 中是这样的:
这会生成以下 SQL 查询:
这看起来是正确的,但在 SQL Server 2008 中不起作用,因为 Tag 的 Name 属性不包含在“group by”子句中。为了使其工作,我必须手动调整 group by 子句以包含 Tag 类的所有属性:
但这取决于 Tag 类的属性,因此每次更改类时都必须更新。还有其他方法可以使第一个 HQL 查询工作吗?也许某些 HQL 语法会自动使“分组依据”属性显式?
谢谢