我有一个表,例如,具有ID,State和User_ID的Instrument作为列。
因此,我有这个JPA查询来返回具有匹配的User_ID的所有仪器记录。
query = manager.createQuery("SELECT instrument from Instrument instrument
where instrument.User_ID=:User_ID",Instrument.class);
query.setParameter("User_ID", User_ID);
List<Instrument> instruments= query.getResultList();
for(Instrument instrument:instruments){
System.out.println("Instrument ID "+instrument.getID());
// using sysout as it is not prod code yet
}
它仅返回第一个记录,重复的次数与匹配记录的次数相同。
11:13:01,703 INFO [stdout] (http-/127.0.0.1:8080-1) Instrument ID 1
11:13:01,704 INFO [stdout] (http-/127.0.0.1:8080-1) Instrument ID 1
11:13:01,704 INFO [stdout] (http-/127.0.0.1:8080-1) Instrument ID 1
我在Db中有3条记录,仪器ID为1,2和3
我在hibernate状态下启用了show sql查询,该查询直接在数据库上运行良好,并返回了不同的记录。
hibernate查询:
select instrumentjdo0_.User_ID as member_U1_0_, instrumentjdo0_.ID as ID2_0_,
instrumentjdo0_.state as state4_0_ from instrument instrumentjdo0_ where instrumentjdo0_.User_ID=?
文书实体
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "instrument")
public class Instrument{
@Id
@Column(name="User_ID", length=9, unique=true, nullable=false)
String user_ID;
@Column(name="ID",nullable=false)
String ID;
@Column(name="state",nullable=false)
String state;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getUserID() {
return user_ID;
}
public void setUserID(String userID) {
this.user_ID = userID;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}
不知道我在想什么。
问题是工具实体中的错误列已@ID
为其分配了属性。
我从中删除了它,User_ID
并将其添加到ID
它,它工作正常。
我有一个表,比如说,仪表,ID、State和User_ID作为列。 所以我有这个JPA查询来返回所有带有匹配User_ID的仪器记录。 它只返回第一条记录,重复次数与有匹配记录的次数一样多。 我有三张Db格式的唱片,仪器编号是1、2和3 我在hibernate上启用了ShowSQL查询,查询直接在数据库上运行良好,并返回不同的记录。 Hibernate查询: 工具实体 不知道我错过了什么。
问题内容: 我在Elasticsearch中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用以下形式的网址… 有人可以给我您用来完成此操作的URL吗? 问题答案: 我认为支持lucene语法是这样的: 大小默认为10,因此您可能还需要获取10个以上的商品。(其中BIGNUMBER等于您认为大于数据集的数字) 但是,elasticsearch文档建议使用扫描搜索类型针对大型结果集。
问题内容: 信息:我正在使用Microsoft SQL。 好的,标题令人困惑,但这是我正在使用的表的示例: 所以我想查询返回: 我试过了: 但这将返回所有结果。我也尝试了SELECT TOP 1 …,但无法正常工作。我知道这很简单,但是我对如何只显示1个唯一的唯一行感到困惑。 谢谢您的帮助。 问题答案: 你有试过吗?
问题内容: 我正在写一个跨三个表的JPQL查询。在我的结果列表中,我想获得每个匹配行的所有三个实体(希望如此)。 有任何想法吗? Hibernate 3.x是我的JPA提供程序。 问题答案: IIRC,您可以执行,结果将是,其中数组内容将包含o1,o2,o3值。
我有一个带有嵌入Id的类。当我尝试使用Jpa存储库进行搜索时,它只返回一个空对象。问题似乎出在嵌入式Id中,因为我用一个没有这个Id的类进行了测试,结果很好。 当我针对数据库进行测试时,JPA在控制台中输出的查询工作正常。 并且没有输出错误。 编辑:数据库中有数据 EDIT2:添加了equals和hashcode。 编辑3:findAll方法有效。 实体 嵌入ID 存储库 服务 正如你所看到的,我
我有一个存储库方法