兩個實體類:休眠返回列表投放問題
@Entity
public class FilesInfo {
@Id
@GeneratedValue
private Integer id;
private String name;
private String url;
@OneToMany(cascade= CascadeType.ALL)
@JoinColumn(name="fileId")
private Collection<FilesShare> filesShared = new ArrayList<FilesShare>();
public Collection<FilesShare> getFilesShared() {
return filesShared;
}
public void setFilesShared(Collection<FilesShare> filesShared) {
this.filesShared = filesShared;
}
第二:
@Entity
public class FilesShare {
@Id
@GeneratedValue
private Integer id;
@Column(name="fileId")
private Integer fileId;
private int userId;
private int owner;
@ManyToOne
@JoinColumn(name="fileId", updatable=false,insertable=false)
private FilesInfo filesInfo;
public FilesInfo getFilesInfo() {
return filesInfo;
}
public void setFilesInfo(FilesInfo filesInfo) {
this.filesInfo = filesInfo;
}
的daoimpl mmethod:
public List<FilesInfo> reqSharedFiles(FilesShare fs) {
session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List<FilesInfo> filesInfo = null;
filesInfo=(List<FilesInfo>)session.createQuery("from FilesInfo a, FilesShare b where a.id=b.fileId and b.userId=5 and b.owner=1").list();
現在我不明白,當Hibernate是映射和返回對象,我得到這個錯誤的行動,它不能被鑄造:
Ljava.lang.Object;不能轉換爲app.domain.FilesInfo
行動
private List<FilesInfo> furls= new ArrayList<FilesInfo>();
furls=upload.reqSharedFiles(fs);
for(FilesInfo s: furls) // ERROR IS SHOWING HERE
{
System.out.println(s.getUrl());
}
看到我在這些實體中有一對多和多對多的關係,而B表中的過濾器將從A表中得到最終結果。希望明白 – Aadam 2013-04-27 20:29:39
看到在awnser中添加的鏈接,它會返回多個類。 – 2013-04-27 20:31:15
這是理解,我可以看到對象的大小爲兩個,因爲它包含2個結果。我現在如何檢索?那對於不工作,類似的文件信息迭代器失敗 – Aadam 2013-04-27 20:32:53