![](/img/trans.png)
[英]org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]
[英]org.hibernate.MappingException: Could not determine type for: java.util.List, at table: user, for columns: [org.hibernate.mapping.Column(events)]
它給了我下面的錯誤。
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: user, for columns: [org.hibernate.mapping.Column(events)]
這是我的代碼
User.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();
}
}
Events.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;
}
}
事件不應該存儲在數據庫中
從代碼的角度來看,在我看來,不應將事件存儲在數據庫中。
如果是這種情況,那么將它們標記為@Transient就足夠了
@Transient
private List<Events> events;
您需要添加映射的events
屬性,如果你需要將其存儲在數據庫中。
@OneToMany
private List<Events> events;
要么
@OneToMany
@JoinColumn
private List<Events> events;
並將@Entity
批注添加到Events
類
@Entity
public class Events {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.