Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java springrest数据模型序列化_Java_Spring_Spring Boot_Spring Data - Fatal编程技术网

Java springrest数据模型序列化

Java springrest数据模型序列化,java,spring,spring-boot,spring-data,Java,Spring,Spring Boot,Spring Data,我有一个SpringBoot项目,它使用REST端点和 一些数据模型POJO通过 Spring存储库类。 服务层几乎什么都不做, 相反,它将请求委托给存储库和数据模型。 模型对象不会在会话中持久化或缓存 在这种情况下, 数据模型元素是否应该实现可序列化 最佳做法是什么? 示例代码 public interface UserService { Optional<User> getUserByLoginName(String loginName); User find

我有一个SpringBoot项目,它使用REST端点和 一些数据模型POJO通过 Spring存储库类。 服务层几乎什么都不做, 相反,它将请求委托给存储库和数据模型。 模型对象不会在会话中持久化或缓存

在这种情况下, 数据模型元素是否应该实现
可序列化

最佳做法是什么? 示例代码

public interface UserService {

    Optional<User> getUserByLoginName(String loginName);

    User findById(Integer id);

    User findByUsername(String username);

    User saveUser(User user);
}
您可以阅读Java中使用序列化的目的


在您的场景中,您使用spring repository将实体保存到数据库或从数据库中加载实体,并且这些实体绝对不需要是可序列化的

,请为您的问题添加更多解释和示例代码好吗?我认为这有点晦涩。当不执行序列化时,不需要序列化实现。简短回答:否。添加了示例代码。可能开发人员想要实现缓存,但没有做到这一点。我没有找到任何其他好的理由,所以我也想和社区一起检查一下。我知道序列化的用法,而这段代码不是我的。当我看到这一点时,我开始思考是什么原因造成的,也许在这种情况下有一些我不知道的原因。可能开发人员计划创建缓存,但确实有机会这样做。
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
    Optional<User> findByLoginName(String loginName);
    Optional<User> findByName(String name);
    List<User> findByFilial(String name);
}
@Entity
@Table(name = "user")
public class User implements Serializable{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false, updatable = false)
    private Integer id;

    @Column(nullable = false,unique = true)
    private String loginName;

    @Column(nullable = false)
    private String name;
    .....
    // getters and setters and rest of the fields
  }