Java copyProperties()在Tomcat上使用时抛出NullPointerException
Java copyProperties()在Tomcat上使用时抛出NullPointerException,java,hibernate,tomcat,nullpointerexception,apache-commons-beanutils,Java,Hibernate,Tomcat,Nullpointerexception,Apache Commons Beanutils,BeanUtils.copyProperties()throwNullPointerException在Tomcat上,但在本地主机上,它工作正常 我已经检查了所有内容,并且dto不是null,只有用户的属性是null,这很好 public void saveUser(UserDTO dto) { User user = new User(); BeanUtils.copyProperties(dto, user); session.beginTransaction()
BeanUtils.copyProperties()
throwNullPointerException
在Tomcat上,但在本地主机上,它工作正常
我已经检查了所有内容,并且dto
不是null
,只有用户的属性是null
,这很好
public void saveUser(UserDTO dto) {
User user = new User();
BeanUtils.copyProperties(dto, user);
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
}
my User.java
public class User {
@Id @GeneratedValue
private long id;
private String userId;
private String firstName;
private String lastName;
private String email;
@Enumerated(EnumType.STRING)
private Role role;
private String encryptedPassword;
private String salt;
private String token;
... getters and setters method ...
}
错误是当BeanUtils试图从
用户
类复制角色
时
private Role role;
它将尝试获取角色
的属性(通过反射),但由于您的角色
为null
,因此会抛出NPE
复制时使用此方法忽略字段角色
:
public static void copyProperties(Object source,
Object target,
String... ignoreProperties)
您应该发布您的用户类并告诉我们哪些字段为空。我的spidey感官告诉我查看这两个对象的getter和setter。但这只是猜测。我们需要更多的信息,谢谢