...
MariaDB [controlloop]> SHOW CREATE TABLE JpaExampleMap_ATTRIBUTES;
+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
| JpaExampleMap_ATTRIBUTES | CREATE TABLE `JpaExampleMap_ATTRIBUTES` (
`name` varchar(120) DEFAULT NULL,
`version` varchar(20) DEFAULT NULL,
`ATTRIBUTES` longtext DEFAULT NULL,
`ATTRIBUTES_KEY` varchar(255) DEFAULT NULL,
KEY `FK_JpaExampleMap_ATTRIBUTES_name` (`name`,`version`),
CONSTRAINT `FK_JpaExampleMap_ATTRIBUTES_name` FOREIGN KEY (`name`, `version`)
REFERENCES `ExampleMap` (`name`, REFERENCES `ExampleMap` (`name`, `version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
Hibernate
MariaDB [controlloop]> describe ExampleMap;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| name | varchar(120) | NO | PRI | NULL | |
| version | varchar(20) | NO | PRI | NULL | |
+---------+--------------+------+-----+---------+-------+
MariaDB [controlloop]> SHOW CREATE TABLE JpaExampleMap_ATTRIBUTES;
+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
| Table +
| Table | Create Table |
+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
| JpaExampleMap_ATTRIBUTES | CREATE TABLE `JpaExampleMap_ATTRIBUTES` (
`name` varchar(120) NOT NULL,
`version` varchar(20) NOT NULL,
`attributes` longtext DEFAULT NULL,
`attributes_KEY` varchar(255) NOT NULL,
PRIMARY KEY (`name`,`version`,`attributes_KEY`),
CONSTRAINT `FKrwvpo54nao070vsy5p23xnps7` FOREIGN KEY (`name`, `version`)
REFERENCES `ExampleMap` (`name`, REFERENCES `ExampleMap` (`name`, `version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
JpaToscaCapabilityAssignment_ATTRIBUTES table
...
MariaDB [controlloop]> SHOW CREATE TABLE JpaToscaCapabilityAssignment_ATTRIBUTES;
+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| Table +
| Table | Create Table |
+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| JpaToscaCapabilityAssignment_ATTRIBUTES | CREATE TABLE `JpaToscaCapabilityAssignment_ATTRIBUTES` (
`name` varchar(120) DEFAULT NULL,
`version` varchar(20) DEFAULT NULL,
`ATTRIBUTES` longtext DEFAULT NULL,
`ATTRIBUTES_KEY` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------++
Currently in Currently in controlloop database, I have not found out why foreign key has not be generated in this table and in all '_ATTRIBUTES', '_META' and '_CONSTRAINTS' tables as well.
...
MariaDB [controlloop]> SHOW CREATE TABLE JpaToscaCapabilityAssignment_ATTRIBUTES;
+-----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+|
+-----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
| JpaToscaCapabilityAssignment_ATTRIBUTES | CREATE TABLE `JpaToscaCapabilityAssignment_+
| JpaToscaCapabilityAssignment_ATTRIBUTES | CREATE TABLE `JpaToscaCapabilityAssignment_ATTRIBUTES` (
`name` varchar(120) NOT NULL,
`version` varchar(20) NOT NULL,
`attributes` longtext DEFAULT NULL,
`attributes_KEY` varchar(255) NOT NULL,
PRIMARY KEY (`name`,`version`,`attributes_KEY`),
CONSTRAINT `FKjuqj4nashp9jx76h5eh5psp7l` FOREIGN KEY (`name`, `version`)
REFERENCES `ToscaCapabilityAssignment` (`name`, `version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+-----------------------------------------+-------------------------------------------------------------------------------------------+
Implications using Hibernate
To be continued
Map of Objects
Code Block | ||||
---|---|---|---|---|
| ||||
@Entity
@Table(name = "ExampleObjMap")
@Data
@EqualsAndHashCode
public class JpaExampleObjMap implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
@VerifyKey
@NotNull
private ExampleKey key;
@ElementCollection
@Lob
private Map<@NotNull String, @NotNull JpaExample> examples;
} |
Eclipse-Link
MariaDB [controlloop]> SHOW CREATE TABLE JpaExampleObjMap_EXAMPLES;
+---------------------------+---------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------------------------+---------------------------------------------------------------------------------------------------------+
| JpaExampleObjMap_EXAMPLES | CREATE TABLE `JpaExampleObjMap_EXAMPLES` (
`name` varchar(120) DEFAULT NULL,
`version` varchar(20) DEFAULT NULL,
`EXAMPLES` longblob DEFAULT NULL,
`EXAMPLES_KEY` varchar(255) DEFAULT NULL,
KEY `FK_JpaExampleObjMap_EXAMPLES_name` (`name`,`version`),
CONSTRAINT `FK_JpaExampleObjMap_EXAMPLES_name` FOREIGN KEY (`name`, `version`)
REFERENCES `ExampleObjMap` (`name`, `version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+---------------------------+---------------------------------------------------------------------------------------------------------+
Hibernate
+---------------------------+---------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------------------------+---------------------------------------------------------------------------------------------------------+
| JpaExampleObjMap_EXAMPLES | CREATE TABLE `JpaExampleObjMap_EXAMPLES` (
`name` varchar(120) NOT NULL,
`version` varchar(20) NOT NULL,
`examples_name` varchar(120) NOT NULL,
`examples_version` varchar(20) NOT NULL,
`examples_KEY` varchar(255) NOT NULL,
PRIMARY KEY (`name`,`version`,`examples_KEY`),
UNIQUE KEY `attributes` longtext DEFAULT NULL`UK_dtga5qcrtu3v2yq7ptbjyqba8` (`examples_name`,`examples_version`),
CONSTRAINT `FK8elsnf63fwlyny8wfl2urejss` FOREIGN KEY (`examples_name`, `examples_version`)
`attributes_KEY` varchar(255) NOT NULL,
REFERENCES `Example` (`name`, `version`),
PRIMARY KEY (`name`,`version`,`attributes_KEY`),
CONSTRAINT `FKnkx26gxv04oxbyffxk1h07k1g` FOREIGN KEY (`name`, `version`)
CONSTRAINT `FKjuqj4nashp9jx76h5eh5psp7l` FOREIGN KEY (`name`, `version`) REFERENCES `ToscaCapabilityAssignment` (`name`, `version`)
REFERENCES `ExampleObjMap` (`name`, `version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+-----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
Implications using Hibernate
...