ManyToOne 関係を持つ 2 つのテーブルがあります。ManyToOne 関係の特定の行を表示する必要がありますが、ページにもコンソールにも何も表示されません。(Hibernateは私のコードの他の部分の生成されたSQLを表示しますが、生成されたSQLは表示されません)
Project.java
@Entity
@Table(name = "Project")
@DynamicUpdate
public class Project implements Serializable{
private int id;
private String Name;
private Developer developer;
@Id
@GeneratedValue
public int getID() {
return id;
}
@ManyToOne(cascade = CascadeType.ALL)
public Developer getDeveloper() {
return developer;
}
....
}
開発者.Java
@Entity()
@Table(name = "developer")
@DynamicUpdate
public class Developer implements Serializable {
private int id;
private String name;
@Id
@GeneratedValue
public int getID() {
return id;
}
.....
}
モデル.Java
Criteria criteria = session.createCriteria(Project.class, "project")
.createAlias("project.developer", "developer");
try{
ProjectionList pl = Projections.projectionList();
pl.add(Projections.property("project.id").as("id"));
pl.add(Projections.property("project.name").as("name"));
criteria.setProjection(pl);
criteria.setResultTransformer(new
AliasToBeanResultTransformer(ListOfProjectsSearchResult.class));
criteria.add(Restrictions.eq("developer.id", 1));
}catch(Exception e){
e.printStackTrace();
}
return criteria.list();