我试图使用hibernate获取一些特定的列,但此查询总是失败。
@Override
public Users findByEmail(String emailID) {
// TODO Auto-generated method stub
try{
List<Users> users = new ArrayList<Users>();
users = this.sessionFactory.getCurrentSession().createQuery("SELECT userID, firstName, lastName, imageURL, password, emailID, enabled FROM Users WHERE emailID = :email_ID")
.setParameter("email_ID", emailID).list();
if(users.size() > 0)
return (Users)users.get(0);
else
return null;
}
catch(Exception exc)
{
log.error(exc.getMessage());
return null;
}
}
此查询总是失败,因此我使用以下查询
@Override
public Users findByEmail(String emailID) {
// TODO Auto-generated method stub
try{
List<Users> users = new ArrayList<Users>();
users = this.sessionFactory.getCurrentSession().createQuery("FROM Users WHERE emailID = :email_ID")
.setParameter("email_ID", emailID).list();
if(users.size() > 0)
return (Users)users.get(0);
else
return null;
}
catch(Exception exc)
{
log.error(exc.getMessage());
return null;
}
}
如何使用hibernate只获取特定列,而不是获取20个列?
每当您选择多列时,查询将返回列表
List<Object[]> rows = this.sessionFactory.getCurrentSession()
.createQuery("SELECT userID, firstName, lastName,
imageURL, password,emailID, enabled
FROM Users WHERE emailID = :email_ID")
.setParameter("email_ID", emailID).list();
现在迭代
(Object[] row: rows) {
System.out.println(" ------------------- ");
System.out.println("userid: " + row[0]);
System.out.println("firstName: " + row[1]);
User u=new User();
u.setUserId(row[0]);
u.setFirstName(row[1]);
u.setLastName(row[2]);
}
其他行也一样
参考文献
您可以尝试使用结果转换器
List<User> users = session
.createQuery(
"SELECT userID as userID, firstName as firstName FROM Users WHERE emailID = :email_ID")
.setParameter("email_ID", emailID)
.setResultTransformer(new AliasToBeanResultTransformer(User.class)).list();
您需要将投影别名指定为firstName,但可以不使用它。
我是Spring冬眠的新手,但我已经花了一天时间解决这个问题。我还是搞不清楚根本原因是什么,我该怎么办。所以,如果有人能给我一些建议,提前谢谢你。 这里有一个问题,我只是写一个简单的测试类,但是当我运行时,有一个例外: ??: 上下文初始化期间遇到异常-取消刷新 这里是类的源代码: 这是员工。哈佛商学院。xml 这是应用程序ontext.cfg.xml 还有pom。xml 下面是smiple测试类
我正在尝试获取用户在TextView中选择的文本,我不想使用来允许我的用户复制/粘贴操作
问题内容: 我用数据库搜索的结果修改了,以便稍后使用该选择提出另一个数据库请求。 我想获取该字段的值。我可以使用哪种方法? 我只是以为我也可以向中添加事件,并将其保留在控制器的属性中。那也可以接受吗? 问题答案: 用这样的列表视图说: 从ListView获取选定的元素: 跟踪(监听)列表视图选择中的更改:
问题内容: 是否可以从我的表模型中获取选定的行索引? 我的对象已经知道表模型。不用传递对表的引用,它本身可以使用模型获取选定的索引吗? 问题答案: TableModel仅与数据相关,而ListSelectionModel与当前所选内容相关,因此,不,您无法从TableModel中获取所选行。
问题内容: 我尝试使用输入获得当前选择的文本,但我总是得到一个空字符串: 结果成: 使用angularjs.org作为目标站点的完整可重复测试: 请注意,我实际上看到输入的文本是用COMMAND +“ a”选择的。 我究竟做错了什么? 使用量角器2.5.1,Firefox 41。 问题答案: 不适用于在元素中选择的文本,但不适用于在页面中对元素进行的选择。 您可以使用和这样的: 您可能应该为此创建
我正在制作一个BMR计算器,我的一个面板为用户提供了一个选项,可以改变他们输入身高的方式,从厘米到英尺/英寸。 下面是处理上述面板的代码块。 我的问题是,当我按下kg或cm按钮时,文本字段不会出现,因此我认为我使用的isSelected()有点错误。 下面是一幅关于这种情况的图像。您可以看到,即使选择了脚,也不会显示任何文本字段。我能做些什么来解决这个问题?