由于一个表中含有比较占内存的字段,当查询的结果比较大时,可能会造成内存泄漏,所以想在查询的时候不加载那个字段,具体类如下:
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.hibernate.search.annotations.DocumentId;
/**
* 网上记账实体类
* @since 2011-3-4
* @author
* @comment
*/
@Entity
@Table(name = "TOOLACCOUNT")
@org.hibernate.annotations.Entity(dynamicUpdate = true, dynamicInsert = true)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class ToolAccount implements Serializable {
private static final long serialVersionUID = 1L;
/** 主键 * */
@Id
@Column(name = "TOOLACCOUNTPK", length = 19)
@GeneratedValue(generator = "custom-id")
@GenericGenerator(name = "custom-id", strategy = "lab24.util.TableKeyGenerator", parameters = {
@Parameter(name = "table", value = "KEYGENERATOR_TABLE"),
@Parameter(name = "pkColumnName", value = "G_KEY"),
@Parameter(name = "pkColumnValue", value = "TOOLACCOUNT_PK"),
@Parameter(name = "valueColumnName", value = "G_VALUE"),
@Parameter(name = "allocationSize", value = "1") })
@DocumentId
private long toolAccountPK;
private String title;//名称
private Date createDate;//创建日期
private double money ;//金额
private String content;//内容
private int inOrOut;//收入还是支出 0:收入 1:支出
private String inOrOutType;//收入与支出的明线条目
/** 关联用户 * */
@ManyToOne(optional = false)
@JoinColumn(name = "USERPK", nullable = false)
private User user;
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public int getInOrOut() {
return inOrOut;
}
public void setInOrOut(int inOrOut) {
this.inOrOut = inOrOut;
}
public String getInOrOutType() {
return inOrOutType;
}
public void setInOrOutType(String inOrOutType) {
this.inOrOutType = inOrOutType;
}
public long getToolAccountPK() {
return toolAccountPK;
}
public void setToolAccountPK(long toolAccountPK) {
this.toolAccountPK = toolAccountPK;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
这里的content是比较大的信息的字段,而作统计账单信息时,它是用不上的,所以想查询的时候不要这个字段,这在hibernate 也是可以做到的,这里是使用一个新的类来存放查询的结果,因为hibernate是以封装好的对象返回来的,所以这里要新建一个对象,这个和
分享到:
相关推荐
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9....
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9....
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9....
整个层次结构中的所有父类和子类属性都映射到同一个表中,他们的实例通过一个辨别符列(discriminator)来区分。 Plane 是父类。@DiscriminatorColumn 注解定义了辨别符列。对于继承层次结构中的每个类, @...
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9. 表达式 ...
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9....
第一部分 从Hibernate和EJB 3.0开始 第1章 理解对象/关系持久化 1.1 什么是持久化 1.1.1 关系数据库 1.1.2 理解SQL 1.1.3 在Java中使用SQL 1.1.4 面向对象应用程序中的持久化 1.2 范式不...
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9....
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9....
15. HQL: Hibernate查询语言 15.1. 大小写敏感性问题 15.2. from子句 15.3. 关联(Association)与连接(Join) 15.4. select子句 15.5. 聚集函数 15.6. 多态查询 15.7. where子句 15.8. 表达式 15.9. order by...
15. HQL: Hibernate查询语言 15.1. 大小写敏感性问题 15.2. from子句 15.3. 关联(Association)与连接(Join) 15.4. select子句 15.5. 聚集函数 15.6. 多态查询 15.7. where子句 15.8. 表达式 15.9. order by...
2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class 2.2.2. 映射文件 2.2.3. Hibernate配置 2.2.4. 用Ant编译 2.2.5. 安装和帮助 2.2.6. 加载并存储对象 2.3. 第二部分 - 关联映射 2.3.1. 映射...
14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. join 语法的形式 14.5. select子句 14.6. 聚集函数 14.7. 多态查询 14.8. where子句 14.9. 表达式 ...
15. HQL: Hibernate查询语言 15.1. 大小写敏感性问题 15.2. from子句 15.3. 关联(Association)与连接(Join) 15.4. select子句 15.5. 聚集函数 15.6. 多态查询 15.7. where子句 15.8. 表达式 15.9. order ...
1.1. 第一部分 - 第一个 Hibernate 应用程序 ................................. 1 1.1.1. 设置 ............................................................ 1 1.1.2. 第一个 class .............................
利用join fetch可以提高查询效率,将关联属性随着主对象一起采用表连接的形式查询. 如果使用了join fetch的话,查询缓存只缓存主对象.join fetch的关联属性不能缓存. 3.Hibernate假分页问题 如果查询语句使用了join...
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的...
11.3.3 查询部分属性 463 11.3.4 查询中使用构造器 464 11.3.5 使用distinct排除相同的记录 465 11.3.6 where子句和条件表达式 466 11.3.7 使用JPQL函数 466 11.3.8 多态查询 467 11.3.9 关联和连接 469 11.3.10 ...
第三部分具体程序设计过程,在此部分中,先是介绍了程序的数据库设计,中有E- R图设计,数据库快照,数据表属性介绍。然后对前端页面进行了比较详细的介绍,与第 一部分的程序分析相呼应,一一介绍程序功能。也对...