1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | @Entity public class UserRole { private Long id; private User user; private String objectType; private Long objectId; private String role; public UserRole(Long userId, String role, String objectType, Long objectId) { User user = new User(); user.setId(userId); this.user = user; this.role = role; this.objectType = objectType; this.objectId = objectId; } @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @ManyToOne @JoinColumn(name = "userId", nullable = false) public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getObjectType() { return objectType; } public void setObjectType(String objectType) { this.objectType = objectType; } public Long getObjectId() { return objectId; } public void setObjectId(Long objectId) { this.objectId = objectId; } public String getRole() { return role; } public void setRole(String role) { this.role = role; } } |
1 2 3 4 5 | public interface UserRoleDao { public void create(UserRole userRole); public void update(UserRole userRole); public UserRole find(Long userId, String objectType, Long objectId); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | public class UserRoleDaoImpl implements UserRoleDao { private EntityManager entityManager; public EntityManager getEntityManager() { return entityManager; } @PersistenceContext public void setEntityManager(EntityManager entityManager) { this.entityManager = entityManager; } public void create(UserRole userRole) { entityManager.persist(userRole); } public UserRole find(Long userId, String objectType, Long objectId) { Query query = entityManager.createQuery( "FROM UserRole ur WHERE ur.user.id=" + userId + " AND ur.objectType='" + objectType + "' AND ur.objectId=" + objectId); List result = query.getResultList(); if (result.size() == 0) return null; return (UserRole)result.get(0); } public void update(UserRole userRole) { entityManager.merge(userRole); } } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |