【发布时间】:2018-09-29 00:38:50
【问题描述】:
我有一个使用 REST 端点和 一些数据模型 POJO,它们通过以下方式存储在数据库中 Spring 存储库类。 服务层几乎什么都不做, 相反,它将请求委托给存储库和数据模型。 模型对象不会在会话中持久化或缓存。
在这种情况下,
数据模型元素是否应该实现Serializable?
最佳做法是什么? 示例代码,
public interface UserService {
Optional<User> getUserByLoginName(String loginName);
User findById(Integer id);
User findByUsername(String username);
User saveUser(User user);
}
实现类也没什么特别的,只是将请求委托给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
}
【问题讨论】:
-
能否为您的问题添加更多解释和示例代码?我觉得这有点晦涩。
-
不序列化时,不需要序列化实现。简短的回答:没有。
-
添加示例代码。可能开发人员想要实现缓存但没有成功。我没有找到任何其他好的理由,所以也想与社区核实一下。
标签: java spring spring-boot spring-data