一、hibernete的关联查询
hibernete使用多表查询,并且要求查询某表中的某些指定字段时,就需要自己在实体类中创建一个用于关联查询的对象。因为getCurrentSession().createQuery()方法返回的是Object对象数组,无法强制转型。
我这几天做的练习实例为用户与视频之间的关联查询,用户上传视频,视频表中有上传人的ID即用户ID。但是用户表中有密码的字段,我不希望密码字段跟着查询结果一起返回出前端,但是我又不想创建一个关联查询的对象去接收。
因此我的方法是:
public List<Video> findAllVideo() {
Query query = getCurrentSession().createQuery("from Video");
List<Video> videoList = query.list();
for (Video video : videoList) {
User user = new User();
user.setUserId(video.getUser().getUserId());
user.setUserName(video.getUser().getUserName());
video.setUser(