Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
8.2, 9.0, 10.0
-
None
-
Windows 7 SP1 x64.
Description
When Entity classes are attempted to be created from "Entity Classes from Database" wizard, and a valid database connection is selected (in my case, MySQL), some tables cannot be selected due to "not having a primary key" even though it is there...
Below are all the associated tables with their corresponding DDL (genreated by MySQL Workbench). The table where no primary key is detected is "joint_orderentry".
CREATE TABLE `joint_orderentry` (
`idjoint_orderentry` bigint(19) unsigned NOT NULL AUTO_INCREMENT,
`shared_amount` decimal(15,4) unsigned NOT NULL,
`order_id` bigint(19) unsigned DEFAULT NULL,
`user_id` bigint(19) unsigned DEFAULT NULL,
PRIMARY KEY (`idjoint_orderentry`),
UNIQUE KEY `idjoint_orderentry_UNIQUE` (`idjoint_orderentry`),
KEY `fk_joint_order_idx` (`order_id`),
KEY `fk_joint_user_idx` (`user_id`),
CONSTRAINT `fk_joint_order` FOREIGN KEY (`order_id`) REFERENCES `buy_order` (`idorder`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `fk_joint_user` FOREIGN KEY (`user_id`) REFERENCES `user_` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_es_0900_as_cs
CREATE TABLE `buy_order` (
`idorder` bigint(19) unsigned NOT NULL AUTO_INCREMENT,
`created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`pay_time` timestamp NULL DEFAULT NULL,
`received_time` timestamp NULL DEFAULT NULL,
`total_amount` decimal(15,4) unsigned NOT NULL,
`order_address` bigint(19) unsigned DEFAULT NULL,
`shipment_amount` decimal(15,4) unsigned DEFAULT NULL,
`status` varchar(45) COLLATE utf8mb4_es_0900_as_cs DEFAULT NULL,
PRIMARY KEY (`idorder`),
UNIQUE KEY `idorder_UNIQUE` (`idorder`),
KEY `fk_order_address_idx` (`order_address`),
CONSTRAINT `fk_order_address` FOREIGN KEY (`order_address`) REFERENCES `address` (`idaddress`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_es_0900_as_cs
CREATE TABLE `user_` (
`ID` bigint(19) unsigned NOT NULL AUTO_INCREMENT,
`ACCOUNT_EXPIRED` tinyint(1) DEFAULT NULL,
`ACCOUNT_LOCKED` tinyint(1) DEFAULT NULL,
`ENABLED` tinyint(1) DEFAULT NULL,
`CREDENTIALS_EXPIRED` tinyint(1) DEFAULT NULL,
`PASSWORD` varchar(255) COLLATE utf8mb4_es_0900_as_cs DEFAULT NULL,
`USER_NAME` varchar(255) COLLATE utf8mb4_es_0900_as_cs DEFAULT NULL,
`role` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`),
UNIQUE KEY `USER_USER_NAME` (`USER_NAME`),
KEY `fk_user_role_idx` (`role`),
CONSTRAINT `fk_user_role` FOREIGN KEY (`role`) REFERENCES `role` (`idrole`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_es_0900_as_cs
CREATE TABLE `payment` (
`idpayment` bigint(19) unsigned NOT NULL AUTO_INCREMENT,
`method` varchar(20) COLLATE utf8mb4_es_0900_as_cs NOT NULL,
`payment_order` bigint(19) unsigned DEFAULT NULL,
PRIMARY KEY (`idpayment`),
UNIQUE KEY `idpayment_UNIQUE` (`idpayment`),
KEY `fk_payment_order_idx` (`payment_order`),
CONSTRAINT `fk_payment_order` FOREIGN KEY (`payment_order`) REFERENCES `joint_orderentry` (`idjoint_orderentry`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_es_0900_as_cs
CREATE TABLE `role` (
`idrole` int(10) unsigned NOT NULL AUTO_INCREMENT,
`role_name` varchar(20) COLLATE utf8mb4_es_0900_as_cs NOT NULL DEFAULT 'END_USER',
PRIMARY KEY (`idrole`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_es_0900_as_cs
All this follows the issue in the previous issue tracking system: https://netbeans.org/bugzilla/show_bug.cgi?id=81716