Spring rest数据模型序列化

时间:2018-04-18 17:07:01

标签: java spring spring-boot spring-data

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

在这种情况下, 数据模型元素应该实现Serializable吗?

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

public interface UserService {

    Optional<User> getUserByLoginName(String loginName);

    User findById(Integer id);

    User findByUsername(String username);

    User saveUser(User user);
}

在实现类中没有什么特别之处,只需将请求委托给存储库,

@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
  }

1 个答案:

答案 0 :(得分:1)

Here您可以阅读有关在Java中使用序列化的目的。

在您的方案中,您使用spring存储库将实体保存到数据库或从数据库加载实体,并且实体绝对不需要Serializable