我的 Entity-Class 及其 "logic" 的最佳实践是什么 - 是否拆分?如果是这样,如何?

What is the best practice with my Entity-Class and its "logic" - split up or not? If so, how?

我开始学习 Hibernate,需要询问一些与 Entity-类 和可能的方法逻辑相关的最佳实践。以下是我的简单示例:)

@Entity
public class Service {
    @Id
    @GeneratedValue
    @Column(name = "service_id")
    private int serviceID;

    @Column(name = "service_name")
    private String serviceName;

    @Column(name = "server_name")
    private String serverName;

    @Column(name = "server_os")
    private String serverOS;

    @Column(name = "port")
    private Integer port;

    @Column(name = "location")
    private String location;

    /*
     * Origin of my question (simple logic for microservices)
     */

    private boolean pingURL() {
       ... do something with port etc ...
    }

    public void boot() {
       ... do something with port and pingURL() ...
    }

我的问题是 - 可以将我的“逻辑”放在这里吗?这是一个非常简单的例子,但我想以一种干净的方式正确地学习它。假设有 5 种或 10 种这些方法。也可以吗?有些事情困扰着我,我认为正确的方法是将方法分成单独的 class 或类似的东西。

我的控制器是这样的(简单示例)

@PostMapping("/bootService")
public void bootService(@RequestBody Service service) {
    service.boot();
}

所以如果我想从我的实体中分离出“逻辑”,我将如何以最好的方式处理它,以便我仍然可以在我的控制器中使用服务 (service.boot()) ?

谢谢你帮助我:)

***编辑:

根据@Alien 的回答,这就是我的想法,我是这样处理的:

public class ServiceHandler {
    private Service service;
    
    public ServiceHandler(Service service) {
        this.service = service;
    }

    /*
     * Origin of my question (simple logic for microservices)
     */

    private boolean pingURL() {
       ... do something with port etc ...
    }

    public void boot() {
       ... do something with port and pingURL() ...
    }
}

我的控制器看起来像这样:

@PostMapping("/bootService")
public boolean bootService(@RequestBody Service service) {
    ServiceHandler serviceHandler = new ServiceHandler(service);
    serviceHandler.boot();
}

这是更好的还是我可以做的更好?

实体 class 应仅包含字段和 getter/setters、哈希码和 equals 方法。

或者一些操作瞬态变量数据的方法。

在一些服务中写下你的逻辑class。