【发布时间】:2014-03-27 09:54:26
【问题描述】:
我正在使用带有休眠功能的 spring data jpa 这是我的dao接口
@Repository
public interface IUserDAO extends JpaRepository<User, Integer>{
User findByUsername( final String username );
}
这是我的用户类
Entity
@Table(name="USER")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="ID", nullable = false)
private int id;
@Column(name="USERNAME", nullable = false)
private String username;
@Column(name="NAME", nullable = false)
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这是我的 UserImplClass
This is my UserImplClass{
@Autowired
private IUserDAO iUserDAO;
public String findUserByUserName(String username) {
User user =iUserDAO.findByUsername(username);
Convert user to json object from framework level automatically
// i can add my one implemenation of converting user to json here ,but i want to achieve it from framework so that my code is not scattered on every service level
return "jsonStringOfUserObject"
}
spring data jpa 是否可以与休眠一起使用,这样我就不必在每个服务级别编写将 java 对象转换为 json 字符串的代码?
我正在使用spring,因此我想从spring实现它。
【问题讨论】:
-
JSON 有什么用?您是要为 HTTP 请求返回 JSON 还是出于其他目的?
-
是的,用于返回 http 响应。但是,我的代码在 Web 服务代码之外。我正在从 prehandle 返回。我正在使用弹簧休息。从休息控制器返回时我没有问题.但是,当从 prehandle 返回时,我想从 prehandle 类调用 UserImplClass 时获取 json 字符串。
-
目前还不清楚您要做什么。您想要在 Spring 消息转换器处理控制器返回值之前使用 JSON 吗?为什么?为什么不直接使用类型安全的对象,直到您需要序列化它们以通过网络传输?
-
@chrylis,我同意你的看法。这就是为什么我给他的答案分为两个选项。如果他使用第二个选项,那么他的应用程序的设计级别就有问题。仅应在通过 HTTP 返回数据之前进行到 JSON 的转换
标签: spring hibernate jpa spring-data