Hibernate tools version: Hibernate Tools 3.2.1.GA
Hi,
I have a table like this,
tableA
col_a
col_b,
col_c,
primary key col_a,
foreign key col_b reference table_b,
foreign key col_b, col_c reference table_c
tableB
col_b,
...
primary key col_b,
...
tableC
col_b,
col_c,
...
primary key col_b, col_c
Hibernate tools generated entity bean for tableA is like this;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "col_b", nullable = false)
public TableB getTableB() {
return this.tableB;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns( {
@JoinColumn(name = "col_b", referencedColumnName = "col_b", nullable = false, insertable = false, updatable = false),
@JoinColumn(name = "col_c", referencedColumnName = "col_c", nullable = false, insertable = false, updatable = false) })
public TableC getTableC() {
return this.tableC;
}
But it have to be like this;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "col_b", nullable = false, insertable = false, updatable = false)
public TableB getTableB() {
return this.tableB;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns( {
@JoinColumn(name = "col_b", referencedColumnName = "col_b", nullable = false),
@JoinColumn(name = "col_c", referencedColumnName = "col_c", nullable = false) })
public TableC getTableC() {
return this.tableC;
}
Because one of them covers another.
I think this have to be fixed.
|