Учитывая следующую таблицу:
CREATE TABLE MY_SCHEMA.TABLE_A (
id integer NOT NULL,
value character varying(50) NOT NULL,
linked_id integer
)
Я хочу знать аннотации гибернации, чтобы завершить мой класс сущности:
public class TableA {
@Id @Column(name="id", unique=true)
private int id;
@Column(name="value", nullable=false)
private String value;
// missing annotations
private String linkedValue;
}
Так что я получаю linkedValue
(который приходитиз себя присоединиться к TABLE_A
на linked_id = id
и выбрать из столбца value
) как String в моем классе сущностей TableA
.
Аналогично, если это не один к одному:
CREATE TABLE MY_SCHEMA.TABLE_A (
id integer NOT NULL,
value character varying(50) NOT NULL
)
CREATE TABLE MY_SCHEMA.TABLE_B (
table_a_id integer NOT NULL,
linked_table_a_id integer NOT NULL
)
Каковы аннотации гибернации для завершения моего класса сущности:
public class TableA {
@Id @Column(name="id", unique=true)
private int id;
@Column(name="value", nullable=false)
private String value;
// missing annotations
private Set<String> linkedValues;
}
Так что я получаю набор linkedValues
(который происходит от соединения TABLE_A
с TABLE_B
on id = table_a_id
и присоединение TABLE_A
снова к linked_table_a_id = id
, чтобы выбрать из столбца value
) в моем классе сущности TableA
.
Предпочитать ответы без необходимости вводить и дополнительный класс сущности TableB
.Спасибо.