hibernate通过query查询返回实体集合相关注意事项

Output实体:

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "Output")
public class Output {
	@Id
	@Column(name = "BuildID")
	private Integer buildId;
	
	@Transient
	private String buildName;
	
	@Transient
	private Integer success;
	
	@Transient
	private Integer failure;
	
	@Transient
	private Integer total;
	
	@Column(name = "BuildNumber")
	private Integer buildNumber;
	
	@Column(name = "TaskID")
	private Integer taskId;
	
	@Column(name = "Output")
	private String output;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "LastUpdate")
	private Date lastUpdate;

	public Integer getBuildId() {
		return buildId;
	}

	public void setBuildId(Integer buildId) {
		this.buildId = buildId;
	}

	public String getBuildName() {
		return buildName;
	}

	public void setBuildName(String buildName) {
		this.buildName = buildName;
	}

	public Integer getBuildNumber() {
		return buildNumber;
	}

	public void setBuildNumber(Integer buildNumber) {
		this.buildNumber = buildNumber;
	}

	public Integer getTaskId() {
		return taskId;
	}

	public void setTaskId(Integer taskId) {
		this.taskId = taskId;
	}

	public String getOutput() {
		return output;
	}

	public void setOutput(String output) {
		this.output = output;
	}

	public Date getLastUpdate() {
		return lastUpdate;
	}

	public void setLastUpdate(Date lastUpdate) {
		this.lastUpdate = lastUpdate;
	}

	public Integer getSuccess() {
		return success;
	}

	public void setSuccess(Integer success) {
		this.success = success;
	}

	public Integer getFailure() {
		return failure;
	}

	public void setFailure(Integer failure) {
		this.failure = failure;
	}

	public Integer getTotal() {
		return total;
	}

	public void setTotal(Integer total) {
		this.total = total;
	}

    public Output(Integer buildId, Integer buildNumber, Integer taskId,String output, Date lastUpdate) {
        this.buildId = buildId;
        this.buildNumber = buildNumber;
        this.taskId = taskId;
        this.output = output;
        this.lastUpdate = lastUpdate;
    }
}

 

Repository:注意select的是类名而且传入的参数也是实体类中的变量

import com.accela.acdp.dao.OutputDao;
import com.accela.acdp.entity.Output;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * Created by jason.zhan on 8/12/2014.
 */
@Repository
public class OutputDaoImpl implements OutputDao {

    @Autowired
    private SessionFactory sessionFactory;

    @Override
    public List<Output> getOutputByBuildId(Integer buildDi) throws Exception{
        if (buildDi != null) {
            Session session = sessionFactory.getCurrentSession();
            if (session == null) {
                session = sessionFactory.openSession();
            }
            String hql = "SELECT new Output(a.buildId, a.buildNumber,a.taskId,a.output,a.lastUpdate) FROM Output as a WHERE a.buildNumber = (SELECT MAX (b.buildNumber) FROM Output as b) AND a.buildId = 2046";
            //String hql = "SELECT a.buildId, a.buildNumber,a.taskId,a.output,a.lastUpdate FROM Output as a WHERE a.buildNumber = (SELECT MAX (b.buildNumber) FROM Output as b) AND a.buildId = 2046";


            Query query = session.createQuery(hql);
            List<Output> outputs = query.list();
            return outputs;
        }
        return null;
    }
}


 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ithouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值