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 + -
显示快捷键?