问题标签 [nhibernate-configuration]

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 投票
3 回答
1480 浏览

java - java休眠数据库连接

我是休眠的新手。我正在尝试使用 Hibernate 制作一个简单的数据库驱动应用程序。但我被困住了。我什至不能运行一个简单的数据库查询。我收到此错误:

运行程序时生成的日志文件

休眠.cfg.xml:

休眠.hbm.xml:

用户详细信息.java:

插入.java:

0 投票
2 回答
3248 浏览

asp.net - Web API ASP.NET 中的 NHibernate:没有会话绑定到当前上下文

我是 NHibernate 的新手,并试图在 ASP.NET WEB API 中使用它。首先,我成功地将它与一个名为“Category”的表一起使用,控制器类如下:

但是当我添加具有类别表外键的“产品”表时,产品控制器不起作用并抛出以下异常:

没有会话绑定到当前上下文

ProductController类如下:

以及 Product 表的映射类:

怎么了?

0 投票
1 回答
240 浏览

c# - FluentNHibernate HiLo - 可以从表中读取 maxLo 而不是在代码中硬连线吗?

我在用

为主键。目前我正在寻找如何从表中加载 maxLo 而不是将其作为常量存储在代码中的可能性。NextHi 的值是从数据库表中加载的(好的,它必须是,否则整个概念根本不起作用)。但是我也没有找到如何从表中加载 maxLo 的方法。从快速代码研究看来,这似乎是不可能的,但我仍然可能遗漏了一些东西。

我需要它的原因:我有业务应用程序和单独的配置应用程序,如果它将某些内容插入表中,则需要使用相同的 maxLo 来保持 ids 的一致性。当然,应用程序可以仅以独占方式运行。两种可能的解决方法: - 我可以有一些共享的 Dll 来存储 maxLo - 我可以使用数据库中的表并自己加载 maxLo

但是仍然可以在没有任何解决方法的情况下做我想做的事。

FluentNHibernate 版本:2.0.1.0

0 投票
1 回答
4421 浏览

c# - NHibernate.Mapping 异常。Namespace.className 没有持久化器

在同一问题上查看了 4 个 stackoverflow 帖子,但找不到解决方案。

我的主要程序:

我的hibernate.cfg.xml(配置文件):

和我的Mapping.hbm.xml文件:

我尝试了以下方法:

  1. 将映射文件(Mapping.hbm.xml)的构建动作设置为嵌入的资源,并将配置文件(hibernate.cfg.xml)的构建动作设置为嵌入的资源和内容。还将复制设置为输出目录以始终复制。

  2. 将 hibernate-mapping 标签中的 auto-import 设置为 true 和 false

  3. 在 中添加映射程序集标记hibernate.cfg.xml,还检查了命名空间和程序集名称。

  4. 在文件中添加映射资源标签hibernate.cfg.xml会导致映射标签不明确的错误。

我还能尝试什么?错误出现在 session.save() 行之前,并且在 session.save 上面的表中检索行数的查询工作正常。

此外,以下是完整的错误消息:

0 投票
1 回答
1175 浏览

c# - NHibernate SchemaExport.Execute 不创建表

按照本教程学习 NHibernate您的第一个基于 NHibernate 的应用程序和我到了您调用 new SchemaExport(cfg).Execute(true, true, false); 测试方法以导出模式(创建 Product 表)以验证 NHibernate 设置正确的地步

映射

配置

测试通过了,我什至可以看到创建表的输出 sql,但该表没有在数据库中创建(sql server compact),我在服务器资源管理器中刷新了数据库,它仍然是空的。

我检查了这些帖子
NHibernate SchemaExport not created table
NHibernate SchemaExport 在“脚本”为假时
不创建表 NHibernate 不创建表
,但它们都没有解决我的问题。有任何想法吗?

0 投票
1 回答
3435 浏览

c# - 在 NHibernate.Linq 查询中出现“OFFSET”错误附近的语法不正确

我的ASP.NET MVC 4.0应用程序中出现以下错误NHibernate v4.0.0 (.Net Framework 4.0)。此错误显示在NHibernate.Linq查询中

在这条线上

我在 SO 和其他网站上发现了一些类似的帖子。但是,他们建议使用 SQL SERVER 2012 而不是 2008。是的,我的 sql server 版本是2008. 但是,我使用ASP.NET MVC 5 (.Net Framework 4.5)andNHibernate v3.3.1,它在相同的数据库和相同的 sql server 版本中运行良好。

一些类似的帖子:

  1. “'OFFSET' 附近的语法不正确”修改 sql comm 2012 到 2008
  2. mssql server 2008 的分页查询在“OFFSET”附近抛出不正确的语法
  3. 理解 SSMS 2012 中的“OFFSET/FETCH”

因此,至少在我的情况下,我认为问题不在于我的 sql server 版本。

我不是直接在 ssms 中或通过命令对象执行 sql 查询。我正在使用NHibernate.Linq查询。

完整的 NHibernate 查询:

我该如何解决这个问题。请指导我。

如果不足,请向我索取更多信息。

谢谢 !!

0 投票
1 回答
223 浏览

postgresql - 基于 NHibernate 公式的属性 + PostgreSQL 间隔

我正在使用 NHibernate 和代码映射,并且我有一个由这个公式创建的属性。

它工作得很好,这个sql作为子选择插入到所有查询中......

但我需要在 invoice_uniqueAlias.duedate_ 值上增加 1 天。我们正在使用 PostgreSQL,它的语法是:invoice_uniqueAlias.duedate_ + interval '1 day'

但是当我把它放在 mapper.Formula 中时,NHibernate 认为区间是列的名称,并且在所有查询中都尝试在区间关键字之前添加表前缀。生成的 SQL 如下所示:

我试图将区间关键字放在 [, ` 中,将语句区间 + '1 天' 放在括号中,但它没有帮助。有什么建议如何在 NHibernate 中正确处理它,或者如何在不使用 + 间隔语法的情况下在 Postgres 中编写它?

0 投票
2 回答
1258 浏览

java - 在 Hibernate 5.0.0.CR2 中未启用 getGeneratedKeys() 支持错误

我正在尝试连接到 Oracle,但我在 Hibernate-5.0 中遇到了这个错误,即使我在配置中启用了这个属性。

我的 hibernate.cfg.xml 如下。

Employee.hbm.xml 如下所示

我尝试了很多次,但似乎没有解决。我在这里哪里出错了?任何指针都是一个很大的帮助。提前致谢。

0 投票
1 回答
331 浏览

asp.net - NUnit NHibernate 和 Moq 单元测试抛出 NHibernate.MappingException

我正在使用 Ayende 在他的博客中使用 NHibernate 进行单元测试的代码,它要求使用 SQLite 进行测试,代码如下:

我的测试课是:

和型号:

其中有一个嵌套类:

并在与父级相同的文件中启动它的映射配置:

NUnit 单元测试返回:

我检查了电影映射文件的属性并将其设置为嵌入式资源 - 任何人都可以确认这是否是最简单的测试方法以及错误消息的含义是什么?

堆栈跟踪:

0 投票
2 回答
7359 浏览

c# - 在 C# 中将 nhibernate 连接到 Postgresql

这是我第一次使用 nhibernate,我在连接和检索 Postgresql 数据库中的数据时遇到了问题。该代码没有给出错误,但也没有返回任何值。当我使用 pgAdmin3 时,我确实得到了数据。

completelist 变量是一个空列表。

有什么我忘记了吗?

编辑:此外,当将配置移动到 app.config 并以不同方式初始化它时,会导致一个空列表

编辑 2:我想也许是服务器出于某种原因拒绝了我的查询,但我尝试只使用 npgsql 进行查询,这工作正常。