次のコードは、フィールド「Propriedade」および「doc_id」を使用して、PK の制約があるテーブルを生成します。
PK を指定するために使用できる最も適切な注釈は何ですか?
public class Documento {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private long id;
private String numero;
private TipoDeMidia midia;
private String nomeDoArquivo;
@ElementCollection
@MapKeyColumn(name="propriedade")
@Column(name="valor")
@CollectionTable(name="DOCINFO",joinColumns=@JoinColumn(name="doc_id"))
private Map<String,String> informacoesDoDocumento= new HashMap<String, String>();
これが生成されたSQLです
CREATE TABLE docinfo
(
doc_id bigint NOT NULL,
valor character varying(255),
propriedade character varying(255) NOT NULL,
CONSTRAINT docinfo_pkey PRIMARY KEY (doc_id, propriedade),
CONSTRAINT fk97c919c6e3b42d44 FOREIGN KEY (doc_id)
REFERENCES documento (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)