【发布时间】:2011-12-23 01:16:35
【问题描述】:
我正在尝试创建这些情况: 用户-------->用户对作者的评价
所以我上课了:
public class User implements UserDetails {
@Id
private String username;
(...)
@OneToMany(targetEntity=RateAth.class, mappedBy="user", cascade=CascadeType.ALL)
List<RateAth> authorRates
public class Author {
@Id
private int id;
(...)
@OneToMany(targetEntity=RateAth.class, mappedBy="author", cascade=CascadeType.ALL)
private List<RateAth> authorRates;
这是我的 RateAth 课程:
@Entity
@Table(name="users_authors_rate")
public class RateAth {
@Id
private PK primaryKey;
private Integer rate;
private Date date;
private String username;
@Id
public PK getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(PK primaryKey) {
this.primaryKey = primaryKey;
}
public Integer getRate() {
return rate;
}
public void setRate(Integer rate) {
this.rate = rate;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public User getUser() {
return primaryKey.getUser();
}
public void setUser(User user) {
this.primaryKey.setUser(user);
}
public Author getAuthor() {
return primaryKey.getAuthor();
}
public void setAuthor(Author author) {
this.primaryKey.setAuthor(author);
}
}
@Embeddable
class PK implements Serializable{
@ManyToOne
@JoinColumn(name="username")
private User user;
@ManyToOne
@JoinColumn(name="author_id")
private Author author;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Author getAuthor() {
return author;
}
public void setAuthor(Author author) {
this.author = author;
}
}
... 49 更多原因:org.hibernate.MappingException:无法 确定类型:bean.Author,在表:users_authors_rate,为 列:[org.hibernate.mapping.Column(author)] 在 org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292) 在 org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276) 在 org.hibernate.mapping.Property.isValid(Property.java:207) 在 org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458) 在 org.hibernate.mapping.RootClass.validate(RootClass.java:215) 在 org.hibernate.cfg.Configuration.validate(Configuration.java:1135) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1320) 在 org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867) 在 org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860) 在 org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779) 在 org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) ... 56 更多
【问题讨论】: