我试图用Hibernate作为提供程序来映射我的实体与JPA 2,但不幸的是我有一个异常,可能由几个人知道,但是甚至寻找在网络我无法找到一个soulution 我想也许是因为我使用Spring数据JPA环境:扩展AbstractAuditable(Spring Data)在ManyToOne关系上导致org.hibernate.MappingException
编辑我删除extends AbstractAuditable
,并创建了ID,那么错误转移到另一个实体AbstractAuditable
,所以我正在使用这个类错误?
stracktrace的相关部分说:
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Collection, at table: car, for columns: [org.hibernate.mapping.Column(gearAssigments)]
下实体参与:
GearAssigment
@Entity
@Table(name = "gear_assigment")
public class GearAssigment extends AbstractAuditable<User, Integer> {
private Integer usedQuantity;
private Car car;
private Gear gear;
public GearAssigment(int id) {
this.setId(id);
}
public GearAssigment() {
}
@Column(name = "used_quantity")
public Integer getUsedQuantity() {
return usedQuantity;
}
public void setUsedQuantity(Integer usedQuantity) {
this.usedQuantity = usedQuantity;
}
@ManyToOne
@JoinColumn(name = "car",referencedColumnName = "id")
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
@ManyToOne
@JoinColumn(name = "gear",referencedColumnName = "id")
public Gear getGear() {
return gear;
}
public void setGear(Gear gear) {
this.gear = gear;
}
}
汽车
@Entity
@Table(name = "car")
public class Car extends AbstractAuditable<User, Integer> {
private String name;
private Category category;
private Collection<GearAssigment> gearAssigments;
public Car(Integer id) {
this.setId(id);
}
public Car() {
}
@Column(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name = "category")
@Enumerated(EnumType.STRING)
public Category getCategory() {
return category;
}
public void setCategory(Category category) {
this.category = category;
}
@OneToMany(mappedBy = "car")
public Collection<GearAssigment> getGearAssigments() {
return gearAssigments;
}
public void setGearAssigments(Collection<GearAssigment> gearAssigments) {
this.gearAssigments = gearAssigments;
}
}
个在数据库中的所有表有id
作为主键,AbstractAuditable extends AbstractPersistable
它已经映射id colunm
与@GeneratedValue
和它们映射与@MappedSuperClass