I have this situtation:
Table1:
tab_id
field11
field12
Table2
id
tab_id
field21
field22
I have to create one object on this two tables for example:
object:
@Id
tabId
@Colummn(name="field11")
field11
@Colummn(name="field12")
field12
@Colummn(name="field21")
field21
When i update field21 table2 should update this field, but table1 doesn't have any information about table2, only table2 hat foreign key to table1
Any idea how i should this make ?
I cannot change table structure, i can only create new class in java.
The id
column in Table2
(I guess it's the PK) is annoying. But if you can get it generated upon insert, mapping both tables using a @SecondaryTable
should work:
@Entity
@Table(name="TABLE1")
@SecondaryTable(name="TABLE2", pkJoinColumns =
@PrimaryKeyJoinColumn(name="TAB_ID", referencedColumnName="TAB_ID")
)
public class MyEntity {
...
@Id @Column(name="TAB_ID")
private Long tabId;
@Column(name="FIELD11")
private int field11;
@Column(name="FIELD12")
private int field12;
@Column(name="FIELD21", table="TABLE2")
private int field21;
...
}
If you can't, I'm afraid you'll have to map 2 classes (with a OneToOne
relation).
Table
mappingsCan you use @SecondaryTable
@SecondaryTable annotation problem?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With