我创建了一个名为books的java类,其中一个字段引用了另一个名为course的类的id。
@javax.persistence.Id
@Column(name="Id")
@GeneratedValue(strategy= GenerationType.AUTO)
private int Id;
@Column(name= "Title", length= 128, nullable = false, columnDefinition = "VARCHAR(60)")
private String Title;
@Column(name= "Year", length= 128, nullable = false, columnDefinition = "VARCHAR(60)")
private String Year;
@ManyToOne
@JoinColumn(name="Course_id",insertable=false, updatable=false, nullable=false,columnDefinition = "int default 1")
private Course Subject;
public int getId() {
return Id;
}
课程类别
private int id;
private Person person;
private String name;
private Set persons = new HashSet(0);
我得到这个错误:
dic. 18, 2020 5:44:46 P. M. org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Field 'Subject' doesn't have a default value
dic. 18, 2020 5:44:46 P. M. org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Field 'Subject' doesn't have a default value
有什么想法吗?
非常感谢。
1条答案
按热度按时间fafcakar1#
您的字段“subject”不为null(nullable=false),因此当您创建一个新人员时,必须为其定义一个课程。要使课程对个人是可选的,您可以尝试以下方法(nullable=true)。这取决于你的生意!
注意:字段的第一个字母最好使用小写(这是命名约定)