您何时在 Objectify for GAE 中注册类?
2022-09-03 06:00:21
因此,这可能是一个愚蠢的问题,但是您何时注册课程:
ObjectifyService.register( User.class );
目前,我正在其他类中使用的类似接口的类的构造函数中执行此操作,以简化专门针对我的应用程序的数据存储区的使用。但是,我收到此错误:
尝试注册种类“用户”两次
所以,我想我的问题是,你多久注册一次,具体什么时候在Objectify中注册类?
谢谢!
附言:这是我的整个班级:
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Iterator;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.persistence.Id;
import com.googlecode.objectify.Objectify;
import com.googlecode.objectify.ObjectifyService;
import com.googlecode.objectify.annotation.Indexed;
import com.googlecode.objectify.annotation.Unindexed;
public class UsersService {
Objectify ojy;
public UsersService(){
ObjectifyService.register( User.class );
ojy = ObjectifyService.begin();
}
public void regUser(String email, String password, String firstName, String lastName){
//TODO: Check syntax if email
//TODO: store encrypted password
}
public void regUser(String email, String password, String firstName){
regUser(email, password, firstName, null);
}
public void regUser(String email, String password){
regUser(email, password, "", "");
}
public boolean checkFor(Long acc_id){
User checked_user = ojy.find(User.class, acc_id);
if(checked_user == null){
return false;
}else{
return true;
}
}
public User getUser(String email, String password) throws InvalidKeyException, IllegalBlockSizeException, BadPaddingException, NoSuchAlgorithmException, NoSuchPaddingException{
String pass_enc = MyUtils.getEncrypted(password);
Iterable<User> users = ojy.query(User.class).filter("email", email).filter("password", pass_enc);
Iterator<User> iter = users.iterator();
if(iter.hasNext()){
return iter.next();
}else{
return null;
}
}
}