gpt4 book ai didi

java : ClassCastException while receiving list of objects using JPA

转载 作者:行者123 更新时间:2023-12-02 11:23:59 25 4
gpt4 key购买 nike

我正在尝试接收 Tempfiles 类型的对象列表,但我不确定获取它的方式出了什么问题。当我收到列表时,列表的大小不为零,但是当我尝试使用它时,我收到 ClassCastException :这是 Tempfiles 类的 pojo:

@Entity
@Table(name="tempfiles")
@NamedQuery(name="Tempfile.findAll", query="SELECT t FROM Tempfile t")
public class Tempfile implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer tempfilesid;

private byte[] filestream;

//bi-directional many-to-one association to Filemetadata
@ManyToOne
@JoinColumn(name="documentid")
private Filemetadata filemetadata;

public Tempfile() {
}

public Integer getTempfilesid() {
return this.tempfilesid;
}

public void setTempfilesid(Integer tempfilesid) {
this.tempfilesid = tempfilesid;
}

public byte[] getFilestream() {
return this.filestream;
}

public void setFilestream(byte[] filestream) {
this.filestream = filestream;
}

public Filemetadata getFilemetadata() {
return this.filemetadata;
}

public void setFilemetadata(Filemetadata filemetadata) {
this.filemetadata = filemetadata;
}
}

这是我使用的方法:

public List getTempFileData()
{
String METHOD_NAME = "getTempFileData";
logger.logEntering(METHOD_NAME);
String strQueryToGetStream = "select t.tempfilesid, t.filemetadata.documentid, t.filestream from Tempfile t";
logger.logInfo(strQueryToGetStream);
Query query = entityManager.createQuery(strQueryToGetStream);
List <Tempfile>tempFileList = query.getResultList();
logger.logExiting(METHOD_NAME);
return tempFileList;
}

这是我收到它的方式:

List <Tempfile>tempFileList = fileDao.getTempFileData();

当我在循环中使用列表时出现异常:

for(Tempfile tempFile : tempFileList)
{
decryptAndEncryptStream(tempFile, job, publicKey);
}

这是我遇到的异常:

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.global.empris.domain.Tempfile

非常感谢您的帮助和提前致谢。

最佳答案

您的查询返回的是 Object[] 列表,而不是 TempFile。您仅选择特定列,因此它不会映射到完整对象。

像处理结果集一样处理每个Object[],或者更改查询以选择完整对象(即SELECT t FROM Tempfile t)。

关于java : ClassCastException while receiving list of objects using JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49727203/

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