`
weishuwei
  • 浏览: 326886 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate的formula

阅读更多

Property元素中的formula允许对象属性包含导出值,比如sum、average、max等的结果。如:

  1. <property name="averagePrice" formula="(select avg(pc.price) from PriceCatalogue pc, SelectedItems si where si.priceRefID=pc.priceID)"/>  

此外,formula还可以基于当前记录的特定属性值从另一个表检索值。例如:

代码
  1. <property name="currencyName" formula="(select cur.name from currency cur where cur.id= currencyID)"/>  

 

代码
  1. <property name="schNum" formula="(select max(a.schoolNumb) from sys_act_code as a)"/>  

注意:
1,formula="()",里面的是sql语句,字段和表名都应该和数据库相应,而不是字段,若带有参数如cur.id= currencyID,这个currencyID才是对象的东东.
2,formula="( sql )",这个括号不能少,不然会报错,我试了几次,没括号就报错,添上就没问题
3,操作字段一定要用别名

问题:
 1,org.springframework.orm.hibernate3.HibernateSystemException: Null value was assigned to a property of primitive type setter of
没用别名,会出现这个错误,添个别名就好了

2,如果我要用obj.getSchNum()得到想要的值,该对象(obj)必须是hibernate取得的对象,

3,如果要传入参数,如上面那个,currencyID是该对象的属性,它的值也是有hibernate操作当前对象时,把该属性对应的值自动传入进去.

 代码
分享到:
评论
1 楼 云峰飞 2011-12-05  
问楼主formula这个属性在映射文件中的表查询其他的表数据都可以查到么?

相关推荐

    @Formula的作用和使用

    在Java实体类中使用`@Formula`注解,通常会结合JPA或Hibernate等ORM框架。下面通过一个具体的例子来说明如何使用`@Formula`: ```java @Entity public class News { private int id; private String title; ...

    hibernate中文帮助文档

    2.4. Hibernate独有的注解扩展:除了标准的EJB3注解,Hibernate还提供了一些自定义注解,如`@GeneratedValue`用于设置主键生成策略,`@Formula`用于在属性中使用SQL表达式,`@Cache`用于配置缓存,`@Filter`用于动态...

    hibernate annotations 中文参考手册

    ##### @Formula 用于执行数据库查询表达式。例如,如果需要计算两个字段的总和并将其存储在一个虚拟字段中,可以使用此注解。 ##### @Embedded 和 @Embeddable 这两个注解用于实现值对象的嵌入式映射: - `@...

    hibernate教程

    - 公式:`@Formula`。 - 类型:`@Type`。 - 索引:`@Index`。 - `@Parent`:用于关联关系。 - 生成的属性:`@Generated`。 - **继承**:通过`@Inheritance`来配置不同的继承策略。 - **关联关系**: - 延迟...

    Hibernate+中文文档

    5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次...

    hibernate_annotation_中文帮助文档

    - `@Entity`、`@Id`、`@Column`等是标准的JPA注解,而`@Formula`、`@Cacheable`、`@Filter`等是Hibernate特有的,提供更丰富的功能,如计算属性、缓存策略和动态过滤。 5. **通过XML覆写元数据** 虽然注解是首选...

    hibernate annotation 中文文档

    - **2.4.3.2 公式**:`@Formula` 注解用于计算属性,其值是基于 SQL 表达式动态计算得出的。 - **2.4.3.3 类型**:`@Type` 注解用来定义属性的类型转换策略。 - **2.4.3.4 索引**:`@Index` 注解用于在属性上创建...

    hibernate_-annotations_中文帮助文档

    Hibernate提供了一些特有的注解,如`@Access`定义属性访问方式,`@Formula`用于定义计算属性,`@Parent`处理父子关系,`@Generated`处理自动生成的属性等。 5. **通过XML覆写元数据** 虽然注解是主要的映射方式,...

    hibernate3.2中文文档(chm格式)

    5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次...

    hibernate_annotations.pdf

    - **@Formula**:用于根据表中的其他字段计算出一个新字段的值。 - **@Version**:用于实现乐观锁。 - **@Transient**:用于指定某个字段不被持久化。 #### 七、注解配置与实体类映射关系 在Hibernate注解式开发中...

    HibernateAPI中文版.chm

    5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次...

    @hibernate Tag Reference

    - **formula**: 在复杂情况下指定SQL公式来确定子类。 **示例代码**: ```java @hibernate.discriminator(column="type") public abstract class Animal { // ... } ``` ##### 1.4 @hibernate.jcs-cache (0..1) ...

    Hibernate注释大全收藏

    例如,使用`@NaturalId`注解标识自然ID,使用`@Formula`注解进行计算,使用`@Index`注解指定索引等。 #### 结论 通过上述内容可以看出,Hibernate提供了丰富的注解机制来简化实体Bean的声明、属性的映射、表的定义...

    Hibernate中文详细学习文档

    5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次...

    Hibernate 中文 html 帮助文档

    5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次映射同一个...

    hibernate-annotations-3.4.0(参考文档,doc/../index.html)

    2. `@Formula`: 使用SQL表达式来获取字段值,提供更灵活的数据获取方式。 3. `@Embeddable` 和 `@Embedded`: 支持复合类型,将多个属性封装到一个类中,作为一个整体进行持久化。 4. `@SecondaryTable`: 将实体映射...

    最全Hibernate 参考文档

    5.1.19. 字段和规则元素(column and formula elements) 5.1.20. 引用(import) 5.1.21. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. SQL中引号包围...

    hibernate 中文注解

    - **公式:** `@Formula`注解用于定义基于其他属性计算得出的属性。 - **类型:** `@Type`注解用于指定自定义的数据类型转换器。 - **索引:** `@Index`注解用于定义索引。 - **@Parent:** 用于关联映射。 - *...

    hibernate 体系结构与配置 参考文档(html)

    字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次映射同一个...

Global site tag (gtag.js) - Google Analytics