gpt4 book ai didi

java - 使用具有与其列名称不同的属性名称的 query.setParameter

转载 作者:行者123 更新时间:2023-12-01 14:34:52 26 4
gpt4 key购买 nike

我使用的是 Java 1.7 和 Hibernate 4.1.9。我对 Hibernate 比较陌生,所以如果我遗漏了任何关键信息,请告诉我。我有一个javax.persistence.Entity在我的类(class)里叫Meeting包含这个:

@Column(name = "ballot_id")
private Long ballotId;

public Long getBallotId() {
return ballotId;
}

public void setBallotId(Long ballotId) {
this.ballotId = ballotId;
}

我正在尝试构建这样的查询:

Query query = session.createQuery("from Meeting m where m.ballotId=:ballotId");
query.setParameter("ballotId", someLongValue);
meeting = (Meeting) query.uniqueResult();

但是我得到了 org.hibernate.exception.SQLGrammarException: Unknown column 'meeting0_.ballotId' in 'field list'错误。似乎在构建这样的查询时,Hibernate 不会检查指示数据库列名称与对象的属性名称不同的注释。还有其他方法可以做到这一点,或者我需要为此添加一些内容吗?也许我错过了什么,或者 HQL 错误?

谢谢!

最佳答案

看起来更像是您需要移动注释:

private Long ballotId;

@Column(name = "ballot_id")
public Long getBallotId() {
return ballotId;
}

public void setBallotId(Long ballotId) {
this.ballotId = ballotId;
}

根据这个answer你的 HQL 应该没问题。

关于java - 使用具有与其列名称不同的属性名称的 query.setParameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577763/

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