问题标签 [sqlresultsetmapping]
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 - JPA 原生查询结果返回重复的子对象
我的数据库中有一个父表和一个子表,并且在它们对应的实体类中有一个 OneToMany 映射。子表有一个外键 parent_id。我将 JPA 2 与 Hibernate 和 MySQL DB 一起使用。
我希望使用 SQL 本机查询基于某些父属性检索所有父对象及其相应的子对象。
为此,我有一个 SqlResultSetMapping 如下:
我查询如下:
在遍历结果列表时,我发现子表中不同行的重复子对象,如输出所示:
输出:
我不明白这是为什么。有什么方法(映射)可以通过本机查询获取所有(不同的)子对象。使用列名获取可以工作并且不需要相应的对象映射,但我想获取子表的所有列,因此更喜欢用户 c.* 在 sql 查询中。
java - 将对象列表映射到对象的 ParameterizedRowMapper
我正在尝试在 ParameterizedRowMapper 中设置父列表,这是如何编写或处理的。我有两个对象,一个用于父对象,一个用于子对象,但是子对象包含一个列表每个子对象的父对象都存储在数据库中的单独表中,并且映射为 1 - 多。
父母的记录选择将在单独的 ResultSet 中完成。映射是否必须单独完成(单独的 ParameterizedRowMapper),如果是这样,我将如何编写ParameterizedRowMapper这是如何编写 ParameterizedRowMapper 以容纳列表项的主要问题。
参数化行映射器
根据我的研究,我发现我需要使用ResultSetExtractor,但是我对它的使用有疑问。我是否在设置父级时将其集成到班级中?有人可以指导我如何以正确的方式完成
儿童.java
父类.java
java - 在 Jsp 中显示类中的对象列表
我正在使用 Spring MVC,并且我实现了ResultSetExtractor,因为我的一个类有一个复杂的列表对象。我做了映射,然后从数据库中进行选择。我在显示ResultSetExtractor中列表项的数据时遇到问题。我希望我正确地进行了映射。其他属性有数据。问题是在 jsp 中显示 Listvictims 和 Listcriminals 的值。
下面是代码:
jsp
我在crimeRecNo 和crimeDetails 中获取数据,但在受害者中没有。
编辑:
我更新了代码,但是我没有在受害者列表中获得任何值,jsp 上没有打印任何内容。其他元素正在获取数据。我不确定 ResultSetExtractor 是否为列表项正确编写。
ResultSetExtractor 映射
如果我的映射不正确,请纠正我
犯罪.java
…………
公民.java
错误
symfony - 如何从 ResultSetMapping 中获取关联数组?
我正在开发一个 Symfony2 项目(Doctrine),我想从 ResultSetMapping 对象中获取一个简单的关联数组。
这是我的要求:
所以我想得到一个关联数组,例如:
我尝试添加 ScalarResult / ScalarIndex 但没有成功!
任何想法 ?谢谢 !
java - 如何将结果集映射到对象的嵌套结构?
我有一个这样的结果集......
等等 LocationCode 2,3,4 等。我需要一个对象(最终转换为 json)为:List<Location>
位置类中嵌套对象的层次结构是..
这对应于结果集,其中 1 个位置有 2 个材料,1 个材料(11)有 2 个项目,1 个项目(111)有 2 个供应商。
我如何实现这一目标?我以前用过AliasToBeanResultTransformer
,但我怀疑在这种情况下它会有所帮助。
java - 如何在 Java 中使用 sql.Array 获取列的值?
我写了一个执行查询的代码,存储结果集。我使用 getArray(columnLabel) 方法将结果集按列存储在不同的数组中。
代码在这里:
现在我想按索引打印结果集,这是我们在打印列表时通常所做的:
get(i) 方法不能用于对象类型数组,但是是否有任何其他方法可以将结果集存储在某个列表中并尽可能多地访问/读取它?
让我知道 :)
谢谢。
更新:我也输入转换变量,但不幸的是它现在抛出异常:更新的代码是:
}
例外是
sun.jdbc.odbc.JdbcOdbcResultSet.getArray(JdbcOdbcResultSet.java:4395) 的线程“主”java.lang.UnsupportedOperationException 中的异常
php - Doctrine2 - 从没有直接关系的多个表中选择
这个问题是关于从多个表、连接、Doctrine2、ResultSetMapping、DQL 等中选择数据的。
我有 4 张桌子:
- 用户
- 接触
- 联系电话
- 称呼
关系如图所示:http: //i.stack.imgur.com/762Jw.png
每个用户可以有很多联系人,每个联系人可以有很多电话,每个用户可以有很多呼叫/来自他的联系人。就像在现实世界中一样……为了清楚起见,我限制了每个表中的字段数量。
所以我的问题是,在显示特定用户的呼叫列表时,我不知道如何准确地将呼叫号码映射到联系人姓名。
如果我想列出用户1的所有呼叫,我会这样做:
但这只会给我这个用户的所有呼叫列表,并且不会将号码 (call.number) 与姓名 (contact.name) 相关联。
我可以用这个查询用普通的 SQL 来实现我想要的:
请注意,我不想选择所有调用(使用 SQL),然后使用 PHP 层的另一个查询将数字映射到名称,因为这样我将无法按名称搜索调用。
我在想 ResultSetMapping 在这种情况下可以帮助我,但我没有运气将 SQL 查询和 ResultSetMapping 放在一起。
请帮忙,谢谢!
sql - Hibernate、SQL server 和带有本机查询的 @SqlResultSetMapping
我正在使用一个非常旧的数据库,我必须检索一些特定的数据。我使用 sql server 和休眠。我编写了一个名为 Language 的类,带有一个 guid(一个人的 id)和一组已知语言。我必须检索数据库中每个人都知道的所有语言,但我不知道我是否可以用特定的本机查询填充语言集。
我可以用特定的本地查询填充“语言”字段,以检索与实体关联的人的所有已知语言吗?
java - JDBI ResultSetMapper:将行部分映射到类
当我们为一个类定义 Mapper 时,我们必须获取 sql 查询中的每一列,以便与 jdbc resultsetmapper 中的类进行映射
例如。
为了使用这个映射器,我必须获取 Mapper 中使用的每一列,但如果我只获取 2 列,它将抛出 PSQLException。
因此,不是定义另一个 Mapper 来获取 2 列,是否有任何可能的方法来使用相同的 Mapper 映射到 MyClass?
java - 如何使用 SqlResultSetMapping 将 JPA NativeQuery 的结果集映射到 POJO
我正在尝试使用@SqlResultSetMapping 和@ConstructorResult 将本机查询的结果映射到POJO。这是我的代码:
然后在我的 DAO 中:
我读过这个功能只在 JPA 2.1 中受支持,但这就是我正在使用的。这是我的依赖:
我找到了一些资源,包括这个:@ConstructorResult mapping in jpa 2.1。但我仍然没有任何运气。
我错过了什么?为什么找不到SqlResultSetMapping?