春季组织。冬眠MappingException:无法确定java的类型。util。列表,位于table:user,列:[org.hibernate.mapping.Column(事件)]
它给了我以下的错误
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: user, for columns: [org.hibernate.mapping.Column(events)]
这是我的密码
用户。java:
import com.google.common.base.Objects;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@Entity
public class User {
@Id
@NotNull
@Size(max = 64)
@Column(name = "id", nullable = false, updatable = false)
private String id;
@NotNull
@Size(max = 64)
@Column(name = "name", nullable = false)
private String name;
@NotNull
@Size(max = 64)
@Column(name = "firstname", nullable = false)
private String firstname;
@NotNull
@Size(max = 64)
@Column(name = "email", nullable = false)
private String email;
@NotNull
@Size(max = 64)
@Column(name = "password", nullable = false)
private String password;
private List<Events> events;
public User() {
}
public User(String id, String name, String firstname, String email, String password) {
super();
this.id = id;
this.name = name;
this.firstname = firstname;
this.email = email;
this.password = password;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public List<Events> getEvents() {
return events;
}
public void setEvents(List<Events> events) {
this.events = events;
}
@Override
public String toString() {
return Objects.toStringHelper(this).add("id", id).add("name", name).add("firstname", firstname)
.add("email", email).add("password", password).add("events", events).toString();
}
}
事件。java:
public class Events {
public Events() {
}
private String startEvent;
private String endEvent;
public String getStartEvent() {
return startEvent;
}
public void setStartEvent(String startEvent) {
this.startEvent = startEvent;
}
public String getEndEvent() {
return endEvent;
}
public void setEndEvent(String endEvent) {
this.endEvent = endEvent;
}
}
事件不应存储在数据库中
# 1 楼答案
从代码的外观来看,在我看来,事件不应该存储在数据库中
如果是这种情况,那么将它们标记为@Transient就足够了
# 2 楼答案
如果需要将
events
属性存储在数据库中,则需要为其添加映射或者
并将
@Entity
注释添加到Events
类中