问题标签 [named-query]

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.

0 投票
2 回答
38653 浏览

mysql - Hibernate 命名查询 - 连接 3 个表

我有 3 个 bean:组织、角色、用户

角色 - 组织关系 - @ManyToOne

角色 - 用户关系 - @ManyToMany

组织 :

角色 :

用户:

所以我需要获取指定用户的所有组织(首先我需要选择所有用户角色,然后选择所有具有此角色的组织)

我有一个实现此逻辑的 sql 语句(例如,我选择 id = 1 的用户):

如何使用休眠命名查询机制来实现这一点?谢谢!

0 投票
1 回答
5894 浏览

java - 如何在单独的文件中创建命名查询

我需要将所有命名查询保存在一个单独的文件中。例如

现在,这本身就会导致错误“命名查询只能在实体或 MappedSuperClass 类中定义”。

如何在单独的文件中创建命名查询?分开是指实体文件以外的文件。

0 投票
1 回答
1249 浏览

nhibernate - NHibernate 将地理类型传递给命名查询 SetParameter()

我正在将 NHibernate 3 引入 ASP.NET MVC Web 应用程序的数据访问层。

在 SQL Server 2008 R2 数据库中,geography数据类型用于将纬度/经度坐标存储在映射到应用程序内实体的表中(称为 this EntityA)。

我已经设置了流畅的映射以成功地将数据类型映射到EntityAtype的属性GisSharpBlog.NetTopologySuite.Geometries.Point,并使用自定义映射约定将其映射到派生的MsSql2008GeographyType.

以上所有内容似乎都可以正常工作,但仍有一些存储过程仍在使用,它们期望一个参数为geography. 我已将存储过程映射为命名查询,但我似乎无法弄清楚我应该为 type 的参数传递什么类型geography。查询调用发生的方法采用double纬度和double经度。在旧的 sproc 调用中,映射是通过

运行 SQL Profiler,执行以下命令

当我尝试使用以下映射时

我得到一个 SqlExceptionError converting data type varbinary to geography

[SqlException (0x80131904): 将数据类型 varbinary 转换为地理时出错。将数据类型 varbinary 转换为地理时出错。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,Boolean breakConnection)+2073502
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,Boolean breakConnection)+5064460
System.Data.SqlClient .TdsParser.ThrowExceptionAndWarning() +234
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33
System. Data.SqlClient.SqlDataReader.get_MetaData() +86
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +311
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +987
System.Data.SqlClient .SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data。 SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)+141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 行为) +12
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() +12 NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) +356 NHibernate.Driver .BatcherDataReaderWrapper..ctor(IBatcher batcher, IDbCommand command) +183
NHibernate.Driver.BasicResultSetsCommand.GetReader(Nullable`1 commandTimeout) +432 NHibernate.Impl.MultiQueryImpl.DoList() +683

运行 SQL Profiler,执行以下命令

可以看出,根据传递给SetParameter()命令和传入命令所确定的值是不同的。

是否可以将类型传递给命名查询以执行我想要的操作?

0 投票
1 回答
829 浏览

nhibernate - nhibernate中的命名查询错误

我的 nhibernate 映射文件中有一个命名查询,每次运行代码时,它都无法使用消息“命名查询中的错误”创建会话,并且没有内部异常或任何其他指向我的命名查询有什么问题的东西. 我对使用 nhibernate 很陌生,但我确信我已经正确设置了所有内容(即映射文件是嵌入式资源,并且查询中使用的类被正确映射)。

任何人都可以建议我的映射文件是否存在明显的错误或问题,这可能会导致此错误。

映射文件:

0 投票
1 回答
1417 浏览

hibernate - 在 Grails 中使用 Hibernate HQL 命名查询?

有没有办法使用 HQL 在 Grails 中使用 Hibernate 命名查询?

我一直在Harnessing Hibernate 一书中读到它们,并想知道是否有办法在 Grails 中使用它们。

命名查询与类映射一起包含在<class-name>.hbm.xml映射文件中,如下所示:

现在我确定可以包含一个<class-name>.hbm.xml 休眠映射文件并将其集成到 Grails GORM 配置中,因为这里说明了hibernate.cfg.xml包含休眠映射文件的文件可以在 Grails 中使用。

在旧的 Hibernate 和 Java 中,可以通过以下方式访问它:

但是,如何从 Grails 访问这些 HQL 命名查询?

我问的原因是我希望能够获取遗留数据库并将其映射到一些对象以在 Grails 中使用,并将命名查询与映射一起存储。

0 投票
1 回答
574 浏览

jpa - JPA 查找和更新策略

在我的 JPA 实现中,我执行 em.find() 来选择对象列表并修改这些对象。接下来,我在事务中调用 em.merge() 更新这些修改后的对象(TX 以保留其他相关内容) .

这很好用,除了 SELECT 发生两次(一次在 find 期间,另一次在其他期间),我觉得这在我的情况下是多余的和性能杀手。

我不愿意将 find() 带入 em.merge() 的事务边界内,即使这样做会解决后一个 SELECT。

定义我自己的 NamedQuery 是在不发出另一个 SELECT 的情况下更新这些对象的唯一方法吗?

谢谢

0 投票
1 回答
444 浏览

asp.net - nHibernate 命名查询不返回所有结果

我有一些简单的命名查询,只有连接、蚂蚁对子选择。除了一个之外,它们都工作得很好。问题是,当我在 Management Studio 中运行 SQL 代码时,我得到 177 个结果,而当我使用相同的 SQL 代码运行命名​​查询时,我得到 20 个结果。我不知道为什么会这样。我将命名查询称为所有其他查询:

即使我在 SQL 中对参数进行了硬编码,我仍然得到相同的结果。我尝试使用 Profiler 检查,但生成的 SQL 是完美的,并且在管理工作室中返回所有 177 个结果。
InstitutionIndexDTO工作正常,因为我将它与其他命名查询一起使用。

我有一个有效的命名查询,导致问题的原因是那个查询,添加了额外的 INNER JOIN 并更改了 WHERE 子句。两个查询都返回相同的列。
也许有人有一个想法,我可能做错了什么?

0 投票
1 回答
1174 浏览

grails - Grails:namedQuery错误:重复的关联路径

圣杯 1.3.7

当我尝试调用我的命名查询时出现这个奇怪的错误。定义如下;

我得到的错误是:

第 75 行是:

itemQueryResult 在哪里

问题是什么?我是否不允许在我的 namedQuery 中使用令牌?

更新:有关涉及的域类的信息:

0 投票
1 回答
2352 浏览

hibernate - Hibernate 命名查询数据库或缓存?

我们在项目中使用 Hibernate。我的问题是关于命名查询。有人可以指导我如何通过 Hibernate 处理命名查询。如果 Hibernate 被配置为使用 1 级缓存,它还会从缓存中返回命名查询的结果,还是总是访问数据库?

0 投票
1 回答
977 浏览

grails - 日期的命名查询(月和年)

我有以下域类:

现在我要做的是创建一个命名查询,使我能够执行以下操作:

我不确定第二个是否可行,或者唯一的方法是使用 2 个命名查询,一个用于年,一个用于月。

如何在命名查询中指定日期的月/年?我拍了一些狂野的照片并尝试在谷歌上搜索它,但我一无所获。