问题标签 [native-sql]
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.
java - 使用休眠获取两个时间戳差异的平均值
我想计算一个实体的两个时间戳字段的时间差的平均值,这样;实体具有 start_date 和 finish_date 属性。在 SQL 中,它类似于以下内容:
当我尝试在休眠中将其作为本机 sql 运行时:
它抛出了一个异常:
这可能非常微不足道,但我找不到解决方案。如果有使用 Hibernate API(限制、投影等)的解决方案,它将非常有用。
已编辑:我刚刚意识到 postgresql 返回 INTERVAL 数据类型,这对于 JDBC 是未知的。我认为唯一的解决方案是重写这个以毫秒为单位返回结果的 SQL(作为数字)。但是,我不知道怎么做?
java - 如何为纯 JPA 中的本机查询配置默认数据库模式?
我们的情况如下:
- 我们在企业应用程序中使用(必须是纯的)JPA 来实现持久性。
- 由于性能原因,我们在这里和那里使用了许多相当复杂的本机查询。
- 在访问数据库(Oracle 11g)时,我们使用
APP_ACCESS
不同于表“所有者”的数据库用户(APP_OWNER
)。这是来自数据库管理的硬性要求。 - 目前,模式名称 (
APP_OWNER
) 被硬编码到本机查询中,a-la:
"SELECT * FROM " + DatabaseSchemaConstants.SCHEMA_NAME + ".LOCATION"
不用说,我们对这种硬编码并不特别满意,因为“所有者”用户名的更改将意味着代码的更改——这绝对不利于维护。
所以这是我的问题:
我们如何为纯 JPA 中的本机查询配置默认数据库模式?
这是我到目前为止发现的:
具体来说,这个答案提出了持久性单元和orm.xml
文件的组合:
但我认为这不适用于本机查询(我们目前正在测试它)。这里的另一个问题是这orm.xml
并不是真正的配置。(但它仍然比 Java 代码中的硬编码好)。
另一个类似答案的帖子:
另一个问题:
请参阅这个建议使用的答案{h-schema}
。看起来很合适,但它是特定于 Hibernate 的。我们想继续使用“纯 JPA”。另一个问题是我在 Hibernate 文档中找不到任何提及 {h-schema} 的地方,所以我们依赖这个特性是不安全的。
是否有标准的 JPA 方法来为所有内容设置默认数据库模式 - JPA 实体和查询以及本机查询?
或者,如果我们能够在本地查询的配置中使用某些“参数”或“设置”设置,则可以解决此问题。
java - 无法使用 Hibernate 创建临时表
我无法使用休眠创建临时表这是我的代码
在日志中它显示命令正在运行但是当我从表中选择内容时它说表 sage_temp_table 不存在因此没有创建并且没有给出任何错误。这里是日志
当我从 queryString1 表中删除 TEMPORARY 并创建插入时,这里还有另一种情况。请告诉我它有什么问题?
java - Spring data - 根据之前的插入插入数据
我需要将数据保存到 2 个表中(一个实体和一个关联表)。我只是使用save()
我的实体存储库中的方法保存我的实体。然后,为了表演,我需要将行插入到本机 sql的关联表中。这些行对我之前保存的实体有参考。问题来了:我得到一个关于外键的完整性约束异常。在第二个查询中不知道第一个保存的实体。
这是我的代码:
回购:
服务 :
这两个查询似乎在不同的事务中,而我设置了@Transactionnal
注释。我还尝试使用 an 执行我的第二个查询entityManager.createNativeQuery()
并得到相同的结果...
spring - 如何在单个事务中管理 2 个 DAO 方法?
我需要在一个事务中管理 2 个 Dao 方法,其中任何一个失败都应该回滚另一个。调用方法在服务层。Spring 和 Hibernate 原生 sql 查询中使用的技术。有没有办法做到这一点?
调用方法::
@Transactional(propagation= Propagation.REQUIRED)
public String save(AllowFileTypesForm formBeanObj,Hashtable global)
调用方法1::
与此方法类似,还有另一种方法可以从其他表中删除数据。
c# - 使用实体框架的原生 sql 没有实体类
我有一个本机 sql 查询,它会根据用户选择动态变化。
代码
temp 变量包含根据用户选择获得的表名。如何在不使用 between.sqlquery<> 的实体类的情况下获取记录?有没有其他方法来获取记录?
注意:动态表在实体模型中不可用。它仅在 db 中可用
java - 为什么要使用 Hibernate Query addScalar 方法?
我在本机 sql 中有一个查询,例如:
查询结果可用于设置员工对象。在类似的行上,我有相同的查询附加了 addscalar(entity_colname)。
这里我们也必须以类似的方式获得结果,那么使用 addscalar 有什么好处?
问候杰伊
sql - 从oracle数据库中选择n条记录
我必须使用本机 sql 从 sap 的 oracle 数据库中选择 n 行。在开放的 sql 中,查询就像
我从其他帖子中学到的等效本机 sql 查询将是
这个对吗?
我是否需要将 rownum 作为数据库表中的字段之一?
java - org.hibernate.MappingException:没有 JDBC 类型的方言映射:1111 用于带有自定义 JsonPostgreSQLDialect 的 jsonobject
1) 我通过扩展 PostgreSQL9Dialect 添加了自定义方言,它执行 this.registerColumnType(Types.JAVA_OBJECT, "jsonb");
2) 公共类 JSONObjectUserType 实现 UserType { }
3) 属性名称="xxxx" 类型="org.JSONObjectUserType" 长度="1000"
4) 我运行休眠原生 SQL 查询。
SQLQuery query1 = (SQLQuery) session.createSQLQuery(str.toString());
它为 JDBC 类型提供 No Dialect 映射:1111. str = "Select state from X"
Postgresql - 列状态是 jsonb 类型。
symfony - Symfony2 错误:Doctrine\ORM\EntityManager 类的对象无法转换为字符串
我有 2 个不相关的实体:外部和内部。我需要联合选择来自实体的所有结果。我正在使用 ResultSetMapping 和 Native SQL 来执行此操作:
我不断收到此错误:可捕获的致命错误:Doctrine\ORM\EntityManager 类的对象无法转换为字符串。
需要修复什么?