gpt4 book ai didi

java hibernate 无法解析属性

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:50 24 4
gpt4 key购买 nike

我正在尝试从一个方法中执行一个简单的 select count 语句,该方法适用于我的程序的其他部分,但在这里它给了我错误。

 public Long validateSub(String source, String tbl){
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();


Query q = session.createQuery("SELECT count(s) from SlaveSubscribers s where s.SOURCENAME = :sourcename AND s.TBL = :tbl");
q.setParameter("sourcename", source);
q.setParameter("tbl", tbl);

Long result = (Long) q.list().get(0);
session.getTransaction().commit();

return result;

}

错误信息:

Exception in thread "Thread-3" org.hibernate.QueryException: could not resolve property: SOURCENAME of: com.datadistributor.main.SlaveSubscribers [SELECT count(s) from com.datadistributor.main.SlaveSubscribers s where s.SOURCENAME = :sourcename AND s.TBL = :tbl]

不知道为什么不行

最佳答案

只是为了澄清上面的答案,因为我不想让任何人错过它。

Hibernate 使用类中的变量属性进行查询,而不是数据库中的列名。

因此,如果您有这样的模型类:

private Long studentId;

@Id
@GeneratedValue
@Column(name="studentid")
public Long getStudentId()
{
return studentId;
}

您必须对 studentId 而不是 studentid 进行查询。

关于java hibernate 无法解析属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com