accountservicebean.java.svn-base

来自「EJB3 Annotation Sample」· SVN-BASE 代码 · 共 129 行

SVN-BASE
129
字号
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.s7turn.security.session;import com.s7turn.security.entity.Account;import com.s7turn.security.entity.AccountGroup;import com.s7turn.security.entity.AccountRole;import com.s7turn.security.entity.Group;import com.s7turn.security.entity.Role;import java.rmi.RemoteException;import java.sql.Date;import java.util.Calendar;import java.util.List;import javax.ejb.Stateless;import javax.persistence.EntityManager;import javax.persistence.NoResultException;import javax.persistence.PersistenceContext;import javax.persistence.Query;/** * * @author Long */@Statelesspublic class AccountServiceBean implements AccountServiceLocal {    @PersistenceContext(unitName="s7turn-pu")    private EntityManager em;        public Account getAccount(String userName) throws RemoteException {        Query query = em.createNamedQuery("Account.findByUserId");        query.setParameter( "loginId", userName );        return (Account) query.getSingleResult();    }    public List<AccountRole> getAccountRole(String userName) throws RemoteException {        Query query = em.createNamedQuery("AccountRole.findByAccount");        query.setParameter( "account", getAccount( userName ) );        return query.getResultList();            }    public List<AccountRole> getAccountRole(Account user) throws RemoteException {        Query query = em.createNamedQuery("AccountRole.findByAccount");        query.setParameter( "account",  user  );        return query.getResultList();            }    public void save(Account t) {        Date dt = new Date( Calendar.getInstance().getTimeInMillis() );        t.setLastUpdated( dt );        if( t.getId() == null || new Long(0).equals( t.getId() )  )        {            em.persist(t);        }        else{            em.merge(t);        }            }    public void remove(Account t) {        em.remove( em.merge(t));    }    public Account findById(Long id) {        Query query = em.createNamedQuery("Account.findById");        query.setParameter( "id", id );        try{            return (Account) query.getSingleResult();                }catch(NoResultException e){            return null;        }    }    public List<Account> getAllItems() {        Query query = em.createNamedQuery("Account.findAllItems");        return query.getResultList();    }    public List<Group> getAllGroups(Account ac)     {        Query q = em.createNamedQuery("AccountGroup.findAllGroups");        q.setParameter("account", ac);        return q.getResultList();    }    public List getRoles(Account user) throws RemoteException {        Query q = em.createNamedQuery("AccountRole.findRolesByAccount");        q.setParameter("account", user);        return q.getResultList();    }    public void addAccountRole(Account acc, Role r) {        AccountRole ar = new AccountRole();        ar.setAccount(acc);        ar.setRole(r);        em.persist(ar);    }    public void removeAccountRole(AccountRole ar)     {        em.remove(em.merge(ar));    }    public void addAccountToGroup(Account acc, Group group)     {        AccountGroup ag = new AccountGroup();        ag.setAccount(acc);        ag.setGroup(group);        em.persist(ag);    }    public void removeAccountFromGroup(AccountGroup ag)     {        em.remove(em.merge(ag));    }    public List<Role> getRolesNotOf(Account acc) {        throw new UnsupportedOperationException("Not supported yet.");    }    public List<Group> getGroupNotOf(Account acc) {        throw new UnsupportedOperationException("Not supported yet.");    }}

⌨️ 快捷键说明

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