【发布时间】:2015-09-13 08:14:22
【问题描述】:
嗨,我是这个世界的新手。 我正在使用 spring jpa hibernate 制作自己的应用程序。 我有一个实体类。它通常工作,但它重复属性。 我的代码如下所示:
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
@Entity
public class Event {
@Id
@GeneratedValue
private Integer id;
public Integer getId() {
return id;
}
@Column(nullable = false)
public void setId(Integer id) {
this.id = id;
}
/*------------------------------ title ------------------------*/
private String title;
@Column(nullable = false)
public String getTitle() {
return title;
}
@Column(nullable = false)
public void setTitle(String title) {
this.title = title;
}
/* [Note] I have two extra ids : event_id, eventId
- so these are not the case of the duplication. */
/*------------------- event_id -----------------------------*/
private String event_id;
public String getEvent_id() {
return event_id;
}
public void setEvent_id(String event_id) {
this.event_id = event_id;
}
/*-------------- eventId -------------------------------------*/
@Column(unique = true)
private String eventId;
public String getEventId() {
return eventId;
}
public void setEventId(String eventId) {
this.eventId = eventId;
}
/*------------------------------ publishedDate ------------------------------------------*/
private String publishedDate;
public String getPublishedDate() {
return publishedDate;
}
@Column(nullable = false)
public void setPublishedDate(String publishedDate) {
this.publishedDate = publishedDate;
}
/*--------------------------------- endTime -----------------------------------*/
private String endTime;
public String getEndTime() {
return endTime;
}
@Column(nullable = false)
public void setEndTime(String endTime) {
this.endTime = endTime;
}
/*-------------------------------- user ------------------------------------------*/
@ManyToOne
@JoinColumn(name="user_id")
private User user;
public User getUser() {
return user;
}
@Column(nullable = false)
public void setUser(User user) {
this.user = user;
}
然后当我检查JPA图时,它有几个属性重复。 我添加了我的 JPA 图图像(红色部分重复)
这是我第一个使用 java 编程的应用程序。 所以请理解,即使我阅读了spring jpa的文档, 很难弄清楚我在代码中到底做错了什么。 有任何想法吗?提前致谢。
【问题讨论】:
-
注释字段或 getter/setter 之一。你已经注释了 getter 和 setter。在 JPA 中也不允许将字段级别注释和方法注释结合使用字段或方法,不要混合使用。我建议使用字段级别的注释。
-
感谢您的回答。我已经检查了 getter 和 setter。似乎不是因为这个。但我不明白什么是“使用字段级注释”。能不能给点详细的意见?
-
是的,因为您已经在 getter 以及类中的字段上添加了注释。
-
所以,你的意思是这些
@Column(nullable = false) public String getTitle() { return title; }。这是否意味着“在吸气剂上添加注释”?所以我应该删除所有getxxx,setxxxx上的@Column...? -
看我的回答。您应该在字段或 getter(或 setter)上使用 or 注释,而不是两者都使用...
标签: java hibernate spring-mvc jpa annotations