KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm working with the last release of playframework (2.0.4) and the Ebean ORM. Here is my simplified db schema TABLENAME (FIELD_NAME (, ...) ) User (id) Group (id) UserGroup (user_id, group_id, is_active) I would like to create my entity models, like this : @Entity public class UserGroup extends Model { private static final long serialVersionUID = 1L; @EmbeddedId public UserGroupPK pk; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", insertable = false, updatable = false) public User user; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "group_id", insertable = false, updatable = false) public Group group; } @Embeddable public class UserGroupPK implements Serializable{ private static final long serialVersionUID = 1L; public Long userId; public Long groupId; public UserGroupPK(Long userId, Long groupId) { this.userId = userId; this.groupId = groupId; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final UserGroupPK other = (UserGroupPK) obj; if ((this.userId == null) ? (other.userId != null) : !this.userId.equals(other.userId)) { return false; } if ((this.groupId == null) ? (other.groupId != null) : !this.groupId.equals(other.groupId)) { return false; } return true; } @Override public int hashCode() { int hash = 3; hash = 89 * hash + (this.userId != null ? this.userId.hashCode() : 0); hash = 89 * hash + (this.groupId != null ? this.groupId.hashCode() : 0); return hash; } } Is it right for you. And if it's ok for this intermediate table, what about the User and Group entity ? Thanks in advance.
Tags (comma-separated)
Save Edits
Cancel