can u help me fix my code:
my structure:

  com.wealthguardian
      ├── models
      ├── repositories
      ├── services
      ├── controllers
      └── exceptions
my code so far:
2. Models

#### User.java

package com.yourcompany.wealthguardian.models;

import javax.persistence.;
import java.util.List;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long userId;
    private String username;
    private String password;
    private String email;
    // getters and setters
}


#### Transaction.java

package com.yourcompany.wealthguardian.models;

import javax.persistence.;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Entity
public class Transaction {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long transactionId;
    private BigDecimal amount;
    private String type; // Income or Expense
    private LocalDateTime date;
    
    @ManyToOne
    @JoinColumn(name = “account_id”)
    private Account account;
    // getters and setters
}


#### Account.java

package com.yourcompany.wealthguardian.models;

import javax.persistence.;
import java.util.List;

@Entity
public class Account {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long accountId;
    private String accountType; // Checking, Savings, Investment etc.
    
    @ManyToOne
    @JoinColumn(name = “user_id”)
    private User user;
    
    @OneToMany(mappedBy = “account”)
    private List<Transaction> transactions;
    // getters and setters
}


#### Budget.java

package com.yourcompany.wealthguardian.models;

import javax.persistence.;
import java.math.BigDecimal;

@Entity
public class Budget {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long budgetId;
    private BigDecimal amount;
    private String category;
    
    @ManyToOne
    @JoinColumn(name = “user_id”)
    private User user;
    // getters and setters
}


### 3. Repositories (DAOs)

#### UserRepository.java

package com.yourcompany.wealthguardian.repositories;

import com.yourcompany.wealthguardian.models.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
    User findByUsername(String username);
}


#### TransactionRepository.java

package com.yourcompany.wealthguardian.repositories;

import com.yourcompany.wealthguardian.models.Transaction;
import org.springframework.data.jpa.repository.JpaRepository;

public interface TransactionRepository extends JpaRepository<Transaction, Long> {
}


#### AccountRepository.java

package com.yourcompany.wealthguardian.repositories;

import com.yourcompany.wealthguardian.models.Account;
import org.springframework.data.jpa.repository.JpaRepository;

public interface AccountRepository extends JpaRepository<Account, Long> {
}


#### BudgetRepository.java

package com.yourcompany.wealthguardian.repositories;

import com.yourcompany.wealthguardian.models.Budget;
import org.springframework.data.jpa.repository.JpaRepository;

public interface BudgetRepository extends JpaRepository<Budget, Long> {
}


### 4. Services

#### UserService.java

package com.yourcompany.wealthguardian.services;

import com.yourcompany.wealthguardian.models.User;
import com.yourcompany.wealthguardian.repositories.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public User registerUser(User user) {
        // hash password logic
        return userRepository.save(user);
    }

    public User findUserByUsername(String username) {
        return userRepository.findByUsername(username);
    }

    // other CRUD operations
}


#### TransactionService.java

package com.yourcompany.wealthguardian.services;

import com.yourcompany.wealthguardian.models.Transaction;
import com.yourcompany.wealthguardian.repositories.TransactionRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class TransactionService {
    @Autowired
    private TransactionRepository transactionRepository;

    public Transaction saveTransaction(Transaction transaction) {
        return transactionRepository.save(transaction);
    }

    public List<Transaction> getAllTransactions() {
        return transactionRepository.findAll();
    }

    // other CRUD operations
}


// Similar service classes for Account and Budget

### 5. Controllers

#### UserController.java

package com.yourcompany.wealthguardian.controllers;

import com.yourcompany.wealthguardian.models.User;
import com.yourcompany.wealthguardian.services.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping(“/users”)
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping(“/register”)
    public User registerUser(@RequestBody User user) {
        return userService.registerUser(user);
    }

    @GetMapping(“/{username}”)
    public User getUser(@PathVariable String username) {
        return userService.findUserByUsername(username);
    }

    // other CRUD endpoints
}


// Similar controller classes for Transaction, Account, and Budget

### 6. Exceptions

#### CustomException.java

package com.yourcompany.wealthguardian.exceptions;

public class CustomException extends RuntimeException {
    public CustomException(String message) {
        super(message);
    }
}


#### GlobalExceptionHandler.java

package com.yourcompany.wealthguardian.exceptions;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(CustomException.class)
    public ResponseEntity<String> handleCustomException(CustomException ex) {
        return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST);
    }

    // other exception handlers
}