我有以下问题:
我正在使用 Spring MVC 4.0.5 和 Hibernate 4.3.5,并且我正在尝试创建一个 Restfull Web 应用程序。问题是我想排除某些字段被序列化为 JSON,具体取决于使用方面在控制器中调用的方法。
我现在的问题是 Hiberate 不会在从方法返回后立即提交事务,而是在序列化之前立即提交事务。
控制器.java
public class LoginController {
/*
* Autowire all the Services and stuff..
*/
@RemoveAttribues({"fieldA","fieldB"})
@RequestMapping{....}
public ResponseEntity login(@RequestBody user) {
User updatedUser = userService.loginTheUser(user);
return new ResponseEntity<>(updatedUser,HttpStatus.OK);
}
}
Run Code Online (Sandbox Code Playgroud)
服务.java
public class UserService {
@Transactional
public User loginUser(User user) {
user.setLoginToken("some generated token");
return userDao.update(user); //userDao just calls entityManager.merge(..)
}
}
Run Code Online (Sandbox Code Playgroud)
该方面的建议执行以下操作:
for every String find the corresponding setter and set the field to …Run Code Online (Sandbox Code Playgroud) 我试着打印下面的元组
(1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误
ERROR - Cannot find "show" function for:
*** Expression : (1,2,3,4,5,6)
*** Of type : (Integer,Integer,Integer,Integer,Integer,Integer)
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用以下元组
(1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)
一切都像一个魅力.
我的猜测是Haskell只Show为元组定义了最多五个元素(因为具有5个元素的元组显然是另一种类型而不是具有6个元素的元组).但不知何故,我很愚蠢地找到证据.
所以我的问题是:
为什么会如此,如何打印一个包含6个元素的元组(因为我似乎无法将元组放在instance定义的头部)?
编辑:我正在使用Hugs