Define the `User` and `Order` entities along with the necessary DTO classes used in the examples. 

### User Entity

```java
import javax.persistence.*;
import java.util.Set;

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    private int age;

    @Enumerated(EnumType.STRING)
    private UserStatus status;

    @OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Set<Order> orders;

    // Getters and Setters
}
```

### Order Entity

```java
import javax.persistence.*;

@Entity
public class Order {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private double amount;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id")
    private User user;

    // Getters and Setters
}
```

### UserStatus Enum

```java
public enum UserStatus {
    ACTIVE,
    INACTIVE
}
```

### User DTO

```java
public class UserDTO {

    private Long id;
    private String name;
    private int age;
    private UserStatus status;

    // Constructors, Getters and Setters
}
```

### Order DTO

```java
public class OrderDTO {

    private Long id;
    private double amount;
    private Long userId;

    // Constructors, Getters and Setters
}
```

### Explanation

- **User Entity**: Represents a user with basic attributes such as `name`, `age`, `status`, and a set of orders.
- **Order Entity**: Represents an order with an `amount` and a reference to the `User` who placed the order.
- **UserStatus Enum**: Represents the possible statuses a user can have, `ACTIVE` or `INACTIVE`.
- **UserDTO**: Data Transfer Object for the `User` entity, used to transfer data between different layers of the application.
- **OrderDTO**: Data Transfer Object for the `Order` entity, used similarly for data transfer.
