0

私は次のものを持っています

@Entity
@Table(name = "PROJECTS")
public class Project implements Serializable {

  @Id
  private Integer SlNo;

  @Id
  private Long projectNo;

  private Date projectDate;
}

そしてDAOクラスで

CriteriaBuilder cb = entityManager.getCriteriaBuilder();

CriteriaQuery<Long> countQ = cb.createQuery(Long.class);
Root<Project> empCount = countQ.from(Project.class);
countQ.select(cb.count(empCount));

TypedQuery<Long> countquery = entityManager.createQuery(countQ);// error in this line

java.lang.IllegalStateException: No supertype found上記の行で例外が発生しています。この問題を解決または回避するにはどうすればよいですか? バグがあるようですが、これに対する解決策はありますか?

私は使っているHibernate 4.1.0.Final

4

2 に答える 2

0

@EmbeddedIdEntity クラスと@EmbeddablePrimary Key クラスを使用して問題を解決しました。

@Entity
@Table(name = "PROJECTS")
public class Project {
@Column(name = "SL_NO" , insertable = false, updatable = false)
private Integer SlNo;
@Column(name = "PROJECT_NO" , insertable = false, updatable = false)
private Long projectNo;
private Date projectDate;

@EmbeddedId
ProjectPK projectPK;

および主キー クラス

@Embeddable
public class ProjectPK implements Serializable {
@Column(name = "SL_NO")
private Integer SlNo;
@Column(name = "PROJECT_NO")
private Long projectNo; 

//with hashCode and equals implementation
于 2013-03-18T18:18:36.307 に答える