您好我有以下OneToMany关系,其中Request可以有许多服务。我在Request上定义了关系如下
@Entity
@Table(name = "Request")
public class Request {
@JsonProperty
@OneToMany(mappedBy = "request")
Set<Service> services;
}
在服务类
中 Request request;
当我启动服务器时,它出错并显示以下消息
! com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: BLOB/TEXT column 'request' used in key specification without a key length
我不确定为什么它会认为请求是带有文本的列。我在这段关系中错过了什么?这种关系应该在关系的两边定义吗?
答案 0 :(得分:0)
你可以使用ManyToOne()单向映射来解决这个问题,如下所述。
@Entity
@Table(name = "Request")
public class Request {
// Nothing
}
@Entity
@Table(name ="Service")
public class Service{
@ManyToOne()
@JoinColumn(name = "request_id", nullable= false)
public Request request;
}