Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.1.1
Description
The JoinColumn couldn't have the referencedColumn's definition which includes the length definition. and it's length should be assigned to the default value 255.
@Entity
public class Student {
@Id @Column(name="id", length=128, nullable=false) private String id;
@Column(name="sName", length=255) private String sName;
@ManyToMany
@JoinTable(
name="student_course_map",
joinColumns=
,
inverseJoinColumns=
)
public Collection getCourses()
...
}
@Entity
public class Courses{
@Id @Column(name="id", length=128, nullable=false) private String id;
@Column(name="cName", length=255) private String cName;
...
}
We can see the student id length has been defined to 128. And there is no definition length in the JoinColumn student_id. The JoinColumn should be set to the default value 255.
The warning message will occur like this
WARN [Schema] Existing column "student_id" on table "test.student_course_map" is incompatible with the same column in the given schema definition. Existing column:
Full Name: student_course_map.student_id
Type: varchar
Size: 128
Default: null
Not Null: true
Given column:
Full Name: student_course_map.student_id
Type: varchar
Size: 255
Default: null
Not Null: true