From 0553bf4d981e835a80e8e216d7a91fc441ac1205 Mon Sep 17 00:00:00 2001 From: AdrianBalunan Date: Wed, 15 Apr 2026 18:57:41 +0200 Subject: [PATCH] Fix 2: BatchExecqution is no more, maybe because of foreign key being also an primariy key or ON UPDATE CASCADE was added --- .../systemutvikling/team6/database/DatabaseSetup.java | 4 ++-- .../team6/database/Readers/CharitySelect.java | 2 +- .../team6/service/APIToDatabaseService.java | 10 +++++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java index e809dd43..a4217afd 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java @@ -73,6 +73,7 @@ PRIMARY KEY (`UUID_charities`), CREATE TABLE IF NOT EXISTS `apbaluna`.`Donations` ( `UUID_Donations` CHAR(36) NOT NULL, `amount` DECIMAL NOT NULL, + `isAnonymous` TINYINT NOT NULL, `date` DATE NOT NULL, `charity_id` CHAR(36) NOT NULL, `user_id` CHAR(36) NOT NULL, @@ -259,12 +260,11 @@ FOREIGN KEY (`User_UUID_User`) `key_values` TEXT NULL, `logoBLOB` MEDIUMBLOB NULL, INDEX `fk_CharityVanity_Charities1_idx` (`UUID_charity` ASC) VISIBLE, - PRIMARY KEY (`UUID_charity`), CONSTRAINT `fk_CharityVanity_Charities1` FOREIGN KEY (`UUID_charity`) REFERENCES `apbaluna`.`Charities` (`UUID_charities`) ON DELETE NO ACTION - ON UPDATE NO ACTION) + ON UPDATE CASCADE) ENGINE = InnoDB; """; diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/CharitySelect.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/CharitySelect.java index cb39b223..c59db00c 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/CharitySelect.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/CharitySelect.java @@ -66,7 +66,7 @@ public CharityRegistry getCharitiesFromDB() { LEFT JOIN Feedback f ON f.charity_id = c.UUID_charities LEFT JOIN User u ON f.user_id = u.UUID_user LEFT JOIN Charity_Categories cc ON cc.Charities_UUID_charities = c.UUID_charities - LEFT JOIN Cat|egories cat ON cat.category_id = cc.Categories_category_id + LEFT JOIN Categories cat ON cat.category_id = cc.Categories_category_id INNER JOIN CharityVanity cv ON cv.UUID_charity = c.UUID_charities; """; Statement stmt = conn.createStatement(); diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/service/APIToDatabaseService.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/service/APIToDatabaseService.java index 3edfce7d..06820dc7 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/service/APIToDatabaseService.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/service/APIToDatabaseService.java @@ -64,9 +64,13 @@ INSERT INTO CharityVanity (UUID_charity, charity_name, charity_link, description PreparedStatement ps2 = conn.prepareStatement(sql2)) { for (Charity charity : charities) { - String uuid = charity.getUUID() == null - ? UUID.randomUUID().toString() - : charity.getUUID().toString(); + String uuid; + if (charity.getUUID() == null) { + uuid = UUID.randomUUID().toString(); + System.out.println("API object doesnt have UUID, assigning"); + } else { + uuid = charity.getUUID().toString(); + } ps1.setString(1, uuid); ps1.setString(2, charity.getOrg_number().replaceAll("\\s", ""));