1

次のコードは、フィールド「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
)
4

0 に答える 0