[jboss-user] [Persistence, JBoss/CMP, Hibernate, Database] - hbm.xml

ericmacau do-not-reply at jboss.com
Tue Sep 12 05:39:26 EDT 2006


Hello,

As I am a beginner in Hibernate and I usually used Annotated classes. I am now going to tried hbm.xml. Could you please to tell me how I can convert the following annotated classes into hbm.xml ?


  | package mo.putoweb.model.account;
  | 
  | import java.io.Serializable;
  | import java.util.ArrayList;
  | import java.util.Collection;
  | 
  | import javax.persistence.CascadeType;
  | import javax.persistence.Entity;
  | import javax.persistence.FetchType;
  | import javax.persistence.Id;
  | import javax.persistence.JoinColumn;
  | import javax.persistence.JoinTable;
  | import javax.persistence.ManyToMany;
  | import javax.persistence.Transient;
  | 
  | @Entity
  | public class User implements Serializable {
  | 	public static final long serialVersionUID = 1L;
  | 
  | 	private String username;
  | 
  | 	private String password;
  | 	
  | 	
  | 	private String firstName;
  | 	private String lastName;
  | 	private String displayName;
  | 	private String gender;
  | 	
  | 
  | 	private boolean activate;
  | 	
  | 	private Collection<Role> roles = new ArrayList<Role>();
  | 	private Collection<Group> groups = new ArrayList<Group>();
  | 	
  | 
  | 	@Transient
  | 	public boolean isActivate() {
  | 		return activate;
  | 	}
  | 		
  | 	
  | 	public boolean getActivate() {
  | 		return activate;
  | 	}
  | 
  | 	public void setActivate(boolean activate) {
  | 		this.activate = activate;
  | 	}
  | 
  | 	public String getPassword() {
  | 		return password;
  | 	}
  | 
  | 	public void setPassword(String password) {
  | 		this.password = password;
  | 	}
  | 
  | 	@Id
  | 	//@GeneratedValue(strategy = GenerationType.AUTO)		
  | 	public String getUsername() {
  | 		return username;
  | 	}
  | 
  | 	public void setUsername(String username) {
  | 		this.username = username;
  | 	}
  | 	
  | 	
  | 
  | 	public String getFirstName() {
  | 		return firstName;
  | 	}
  | 
  | 	public void setFirstName(String firstName) {
  | 		this.firstName = firstName;
  | 	}
  | 
  | 	public String getLastName() {
  | 		return lastName;
  | 	}
  | 
  | 	public void setLastName(String lastName) {
  | 		this.lastName = lastName;
  | 	}
  | 	
  | 	
  | 	
  | 
  | 	public String getDisplayName() {
  | 		return displayName;
  | 	}
  | 
  | 	public void setDisplayName(String displayName) {
  | 		this.displayName = displayName;
  | 	}
  | 	
  | 	
  | 	
  | 	
  | 
  | 	public String getGender() {
  | 		return gender;
  | 	}
  | 
  | 	public void setGender(String gender) {
  | 		this.gender = gender;
  | 	}
  | 
  | 	@ManyToMany(cascade = {CascadeType.REMOVE}, 
  | 			fetch = FetchType.EAGER, 
  | 			targetEntity=Role.class)
  | 	@JoinTable(
  |         name="USER_ROLE_LINK",
  |         joinColumns={@JoinColumn(name="username")},
  |         inverseJoinColumns={@JoinColumn(name="rolename")}
  |     )
  | 	public Collection<Role> getRoles() {
  | 		return roles;
  | 	}
  | 
  | 	public void setRoles(Collection<Role> roles) {
  | 		this.roles = roles;
  | 	}
  | 	
  | 	@Transient
  | 	public void addRole(Role role) {
  | 		this.roles.add(role);
  | 	}
  | 
  | 
  | 	@ManyToMany(cascade = {CascadeType.REMOVE}, 
  | 			fetch = FetchType.LAZY, 
  | 			targetEntity=Group.class)
  | 	@JoinTable(
  |         name="USER_GROUP_LINK",
  |         joinColumns={@JoinColumn(name="username")},
  |         inverseJoinColumns={@JoinColumn(name="groupname")}
  |     )
  | 	public Collection<Group> getGroups() {
  | 		return groups;
  | 	}
  | 
  | 
  | 	public void setGroups(Collection<Group> groups) {
  | 		this.groups = groups;
  | 	}
  | 
  | 	@Transient
  | 	public void addGroup(Group group) {
  | 		groups.add(group);
  | 	}
  | 
  | }
  | 



  | package mo.putoweb.model.account;
  | 
  | import java.io.Serializable;
  | import java.util.ArrayList;
  | import java.util.Collection;
  | 
  | import javax.persistence.Entity;
  | import javax.persistence.FetchType;
  | import javax.persistence.Id;
  | import javax.persistence.JoinColumn;
  | import javax.persistence.JoinTable;
  | import javax.persistence.ManyToMany;
  | import javax.persistence.Transient;
  | 
  | @Entity
  | public class Role implements Serializable {
  | 	public static final long serialVersionUID = 1L;
  | 	
  | 	private String roleName;
  | 	private String description;
  | 	
  | 	private Collection<User> users = new ArrayList<User>();
  | 
  | 	public String getDescription() {
  | 		return description;
  | 	}
  | 
  | 	public void setDescription(String description) {
  | 		this.description = description;
  | 	}
  | 
  | 	@Id
  | 	public String getRoleName() {
  | 		return roleName;
  | 	}
  | 
  | 	public void setRoleName(String roleName) {
  | 		this.roleName = roleName;
  | 	}
  | 
  | 	@ManyToMany(
  | 			targetEntity=User.class,
  | 			mappedBy="roles",
  | 			fetch = FetchType.EAGER)
  | 	@JoinTable(
  |         name="USER_ROLE_LINK",
  |         joinColumns={@JoinColumn(name="rolename")},
  |         inverseJoinColumns={@JoinColumn(name="username")}
  |     )
  | 	public Collection<User> getUsers() {
  | 		return users;
  | 	}
  | 
  | 	public void setUsers(Collection<User> users) {
  | 		this.users = users;
  | 	}
  | 	
  | 	@Transient
  | 	public void addUser(User user) {
  | 		this.users.add(user);
  | 	}
  | 	
  | 	
  | 	
  | 	
  | }
  | 
  | 




  | package mo.putoweb.model.account;
  | 
  | import java.io.Serializable;
  | import java.util.ArrayList;
  | import java.util.Collection;
  | 
  | import javax.persistence.Entity;
  | import javax.persistence.FetchType;
  | import javax.persistence.Id;
  | import javax.persistence.JoinColumn;
  | import javax.persistence.JoinTable;
  | import javax.persistence.ManyToMany;
  | import javax.persistence.Table;
  | import javax.persistence.Transient;
  | 
  | @Entity
  | @Table(name = "UserGroup")
  | public class Group implements Serializable {
  | 	private static final long serialVersionUID = 1L;
  | 
  | 	private String groupName;
  | 
  | 	private String description;
  | 
  | 	private Collection<User> users = new ArrayList<User>();
  | 
  | 	public String getDescription() {
  | 		return description;
  | 	}
  | 
  | 	public void setDescription(String description) {
  | 		this.description = description;
  | 	}
  | 
  | 	@Id
  | 	public String getGroupName() {
  | 		return groupName;
  | 	}
  | 
  | 	public void setGroupName(String groupName) {
  | 		this.groupName = groupName;
  | 	}
  | 
  | 	@ManyToMany(fetch = FetchType.LAZY, mappedBy="groups")
  | 	@JoinTable(
  |         name="USER_GROUP_LINK",
  |         joinColumns={@JoinColumn(name="groupname")},
  |         inverseJoinColumns={@JoinColumn(name="username")}
  |     )
  | 	public Collection<User> getUsers() {
  | 		return users;
  | 	}
  | 
  | 	public void setUsers(Collection<User> users) {
  | 		this.users = users;
  | 	}
  | 
  | 	@Transient
  | 	public void addUser(User user) {
  | 		users.add(user);
  | 	}
  | 
  | }
  | 
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970952#3970952

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970952



More information about the jboss-user mailing list