`

hql查询表中无主键,返回结果全是一样的数据

    博客分类:
  • java
阅读更多

用hql查询view,但view中无主键,根据某列查询,返回多条记录,返回的结果记录条数正确,但数据全部重复与db查询不一致,解决方案:在映射文件.hbm.xml中定义为联合主键,即用<composite-id>

测试数据如下:

SPREAD_TABLE_CODE,PRICE_FROM,PRICE_TO,SPREAD_VAL

1	0.01	0.1	0.001
1	0.1	0.2	0.001
1	0.2	0.25	0.001
1	0.25	0.4	0.005
1	0.4	0.5	0.005

 hbm配置文件(没有使用联合主键):

<hibernate-mapping package="com.shkco.adsr3.ogadapter.framework.vo">
	<class name="OgSprd" table="VW_HKEX_SPREAD_TABLE">

		<id name="sprdTableCode" column="SPREAD_TABLE_CODE" unsaved-value="null"> 
              <generator class="assigned"/> 
         </id>
	
		<property name="priceFrom" column="PRICE_FROM"/>

		<property name="priceTo" column="PRICE_TO"/>

		<property name="sprdVal" column="SPREAD_VAL"/>
			
	</class>
</hibernate-mapping>

 hql语句

 

List sprdList = session.createQuery(

			"from OgSprd sprd where sprd.sprdTableCode = :sprdTableCode order by sprd.priceTo asc")

			.setInteger("sprdTableCode", sprdTableCode)

			.list();

 OgSprd -----》VW_HKEX_SPREAD_TABLE

 

解决方案:

<composite-id>
            <key-property name="sprdTableCode" column="SPREAD_TABLE_CODE"/>	        
            <key-property name="priceFrom" column="PRICE_FROM"/>	 
            <key-property name="priceTo" column="PRICE_TO"/>	         
</composite-id>

 

分享到:
评论

相关推荐

    jdbc基础和参考

    //查找s_user表中所有的数据,并且返回他们的集合 public Collection&lt;User&gt; findAll(){ } //按照名字进行删除 public int deleteUser(String name){ } //将user对象的信息更新到数据库表中 public int ...

    JAVA WEB框架,java网站一个模块只用写一个文件

    同样在构造Hyberbin的时候需要给出需要查询的数据在哪个表(szdw)中,szdw可以没有任何信息. 构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id"); 查询:LinkedList&lt;Object&gt; list = hyberbin.showAll...

    Hibernate实战(第2版 中文高清版)

     3.4.2 表示XML中的数据   3.5 小结  第二部分 映射概念和策略  第4章 映射持久化类   4.1 理解实体和值类型   4.1.1 细粒度的领域模型   4.1.2 定义概念   4.1.3 识别实体和值类型   4.2 映射带有...

    Hibernate Annotations 中文文档

    2.3.1. 映射EJBQL/HQL查询 2.3.2. 映射本地化查询 2.4. Hibernate独有的注解扩展 2.4.1. 实体 2.4.2. 标识符 2.4.3. 属性 2.4.3.1. 访问类型 2.4.3.2. 公式 2.4.3.3. 类型 2.4.3.4. 索引 ...

    hibernate annotation 中文文档

    2.3.1. 映射EJBQL/HQL查询 2.3.2. 映射本地化查询 2.4. Hibernate独有的注解扩展 2.4.1. 实体 2.4.2. 标识符 2.4.3. 属性 2.4.3.1. 访问类型 2.4.3.2. 公式 2.4.3.3. 类型 2.4.3.4. 索引 2.4.3.5. @Parent 2.4.3.6. ...

    支持多数据库的ORM框架ef-orm.zip

    表结构元数据的API也向用户开放,同时支持在使用过程中,灵活调整映射关系,因此用户可以用API动态的创建表结构的模型,从而实现各种动态类型和表的映射(例如POJO中包含一个Map,用于映射各种动态扩展的字段)企业...

    CSharp Rod ORM 持久化框架

    本人开发基于C# Attribute 声明式的ORM 框架,自带Sqlite数据库的一个测试例子。 本框架的特点: 1. 无XML配置,基于Attribute的配置方式 ...4. 自定义主键生成策略,字段数据类型,一对一,一对多,懒加载的加载机制

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    Hibernate 中文 html 帮助文档

    3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的...

    最全Hibernate 参考文档

    返回元组(tuples)的查询 10.4.1.3. 标量(Scalar)结果 10.4.1.4. 绑定参数 10.4.1.5. 分页 10.4.1.6. 可滚动遍历(Scrollable iteration) 10.4.1.7. 外置命名查询(Externalizing named queries) 10.4.2. 过滤集合 ...

    hibernate annotation帮助文档

    2.3.1. 映射EJBQL/HQL查询 2.3.2. 映射本地化查询 2.4. Hibernate独有的注解扩展 2.4.1. 实体 2.4.2. 标识符 2.4.3. 属性 2.4.3.1. 访问类型 2.4.3.2. 公式 2.4.3.3. 类型 2.4.3.4. 索引 2.4.3.5. @Parent ...

    Hibernate3+中文参考文档

    返回元组(tuples)的查询 10.4.1.3. 标量(Scalar)结果 10.4.1.4. 绑定参数 10.4.1.5. 分页 10.4.1.6. 可滚动遍历(Scrollable iteration) 10.4.1.7. 外置命名查询(Externalizing named queries) 10.4.2. 过滤集合 ...

    基于SpringJDBC的轻量级ORM框架sborm.zip

    得比较麻烦,重复性的代码偏多,一方面通过自动mapper降低返回结果处理工作量,另一方面参考hibernate对象化查询条件的模式,写了一个 QueryBudiler,使得更多简单的单表查询可以通过对象组织查询、更改逻辑,避免...

    hibernate3.04中文文档.chm

    返回元组(tuples)的查询 11.4.1.3. 标量(Scalar)结果 11.4.1.4. 绑定参数 11.4.1.5. 分页 11.4.1.6. 可滚动遍历(Scrollable iteration) 11.4.1.7. 外置命名查询(Externalizing named queries) 11.4.2. 过滤...

Global site tag (gtag.js) - Google Analytics