userdaojdo.java

来自「springlive ch7」· Java 代码 · 共 41 行

JAVA
41
字号
package org.appfuse.dao.jdo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.appfuse.dao.UserDAO;
import org.appfuse.model.User;
import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.orm.jdo.support.JdoDaoSupport;

public class UserDAOJdo extends JdoDaoSupport implements UserDAO {
    
    public List getUsers() {  
        Collection users = getJdoTemplate().find(User.class);
        users = getPersistenceManager().detachCopyAll(users);
        return new ArrayList(users);
    }

    public User getUser(Long id) {
        User user = (User) getJdoTemplate().getObjectById(User.class, id);
        if (user == null) {
            throw new ObjectRetrievalFailureException(User.class, id);   
        }
        return (User) getPersistenceManager().detachCopy(user);
    }

    public void saveUser(User user) {
        if (user.getId() == null) {
            getJdoTemplate().makePersistent(user);
        } else {
            getPersistenceManager().attachCopy(user, true);
        }
    }

    public void removeUser(Long id) {
        getJdoTemplate().deletePersistent(
                getJdoTemplate().getObjectById(User.class, id));
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?