Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
Articles
Articles_cn
Articles_de
Articles_pt
Articles_zh
HibernateRelationshi...




JSPWiki v2.2.33

[RSS]


Hide Menu

HibernateRelationships


Difference between version 38 and version 37:

At line 980 added 643 lines.
Weblog modifications:
[{Java2HtmlPlugin
package org.appfuse.model;
import java.util.Date;
import java.util.List;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
/**
* @hibernate.class table="weblog"
*/
public class Weblog extends BaseObject {
private Long weblogId;
private String username;
private Date dateCreated;
private String blogTitle;
private Integer version;
private List entries;
private Set users = new HashSet();
/**
* @return Returns the blogTitle.
*
* @hibernate.property column="blog_title"
*/
public String getBlogTitle() {
return blogTitle;
}
/**
* @param blogTitle
* The blogTitle to set.
*/
public void setBlogTitle(String blogTitle) {
this.blogTitle = blogTitle;
}
/**
* @return Returns the dateCreated.
*
* @hibernate.property column="date_created"
*/
public Date getDateCreated() {
return dateCreated;
}
/**
* @param dateCreated
* The dateCreated to set.
*/
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}
/**
* @return Returns the entries.
*
* @hibernate.bag name="entries" lazy="true" inverse="true" cascade="delete"
* @hibernate.collection-key column="entry_id"
* @hibernate.collection-one-to-many class="org.appfuse.model.Entry"
*/
public List getEntries() {
return entries;
}
/**
* @param entries
* The entries to set.
*/
public void setEntries(List entries) {
this.entries = entries;
}
/**
* @return Returns the id.
*
* @hibernate.id column="weblog_id" generator-class="native"
* unsaved-value="null"
*/
public Long getWeblogId() {
return weblogId;
}
/**
* @param id
* The id to set.
*/
public void setWeblogId(Long weblogId) {
this.weblogId = weblogId;
}
/**
* @return Returns the username.
*
* @hibernate.property column="username"
*/
public String getUsername() {
return username;
}
/**
* @param username
* The username to set.
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return Returns the users.
*
* @hibernate.set table="weblog_user" cascade="save-update" lazy="false"
* @hibernate.collection-key column="weblog_id"
* @hibernate.collection-many-to-many class="org.appfuse.model.User"
* column="username"
*/
public Set getUsers() {
return users;
}
/**
* Adds a user for the weblog
*
* @param rolename
*/
public void addUser(User user) {
getUsers().add(user);
}
/**
* @param users
* The users to set.
*/
public void setUsers(Set users) {
this.users = users;
}
/**
* @return Returns the version.
*
* @hibernate.version
*/
public Integer getVersion() {
return version;
}
/**
* @param version
* The version to set.
*/
public void setVersion(Integer version) {
this.version = version;
}
/**
* @see java.lang.Object#equals(Object)
*/
public boolean equals(Object object) {
if (!(object instanceof Weblog)) {
return false;
}
Weblog rhs = (Weblog) object;
return new EqualsBuilder().append(this.users, rhs.users).append(
this.blogTitle, rhs.blogTitle).append(this.weblogId,
rhs.weblogId).append(this.username, rhs.username).append(
this.entries, rhs.entries).append(this.dateCreated,
rhs.dateCreated).append(this.version, rhs.version).isEquals();
}
/**
* @see java.lang.Object#hashCode()
*/
public int hashCode() {
return new HashCodeBuilder(1149273015, 1751732143).append(this.users)
.append(this.blogTitle).append(this.weblogId).append(
this.username).append(this.entries).append(
this.dateCreated).append(this.version).toHashCode();
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("weblogId", this.weblogId).append("version",
this.version).append("users", this.users).append(
"username", this.username).append("blogTitle",
this.blogTitle).append("entries", this.entries).append(
"dateCreated", this.dateCreated).toString();
}
}
}]
User modifications
[{Java2HtmlPlugin
package org.appfuse.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
/**
* User class
*
* This class is used to generate Spring Validation rules as well as the
* Hibernate mapping file.
*
* <p>
* <a href="User.java.html"> <i>View Source </i> </a>
* </p>
*
* @author <a href="mailto:[email protected]">Matt Raible </a> Updated by
* Dan Kibler ([email protected])
*
* @hibernate.class table="app_user"
*/
public class User extends BaseObject implements Serializable {
protected String username;
protected String password;
protected String confirmPassword;
protected String firstName;
protected String lastName;
protected Address address = new Address();
protected String phoneNumber;
protected String email;
protected String website;
protected String passwordHint;
protected Integer version;
protected Boolean enabled;
protected Set roles = new HashSet();
protected Set weblogs;
/**
* Returns the username.
*
* @return String
*
* @hibernate.id column="username" length="20" generator-class="assigned"
* unsaved-value="version"
*/
public String getUsername() {
return username;
}
/**
* Returns the password.
*
* @return String
*
* @hibernate.property column="password" not-null="true"
*/
public String getPassword() {
return password;
}
/**
* Returns the confirmedPassword.
*
* @return String
*/
public String getConfirmPassword() {
return confirmPassword;
}
/**
* Returns the firstName.
*
* @return String
*
* @hibernate.property column="first_name" not-null="true" length="50"
*/
public String getFirstName() {
return firstName;
}
/**
* Returns the lastName.
*
* @return String
*
* @hibernate.property column="last_name" not-null="true" length="50"
*/
public String getLastName() {
return lastName;
}
public String getFullName() {
return firstName + ' ' + lastName;
}
/**
* Returns the address.
*
* @return Address
*
* @hibernate.component
*/
public Address getAddress() {
return address;
}
/**
* Returns the email. This is an optional field for specifying a different
* e-mail than the username.
*
* @return String
*
* @hibernate.property name="email" not-null="true" unique="true"
*/
public String getEmail() {
return email;
}
/**
* Returns the phoneNumber.
*
* @return String
*
* @hibernate.property column="phone_number" not-null="false"
*/
public String getPhoneNumber() {
return phoneNumber;
}
/**
* Returns the website.
*
* @return String
*
* @hibernate.property column="website" not-null="false"
*/
public String getWebsite() {
return website;
}
/**
* Returns the passwordHint.
*
* @return String
*
* @hibernate.property column="password_hint" not-null="false"
*/
public String getPasswordHint() {
return passwordHint;
}
/**
* Returns the user's roles.
*
* @return Set
*
* @hibernate.set table="user_role" cascade="save-update" lazy="false"
* @hibernate.collection-key column="username"
* @hibernate.collection-many-to-many class="org.appfuse.model.Role"
* column="role_name"
*/
public Set getRoles() {
return roles;
}
/**
* Adds a role for the user
*
* @param rolename
*/
public void addRole(Role role) {
getRoles().add(role);
}
/**
* Sets the username.
*
* @param username
* The username to set
* @spring.validator type="required"
*/
public void setUsername(String username) {
this.username = username;
}
/**
* Sets the password.
*
* @param password
* The password to set
*
* @spring.validator type="required"
* @spring.validator type="twofields" msgkey="errors.twofields"
* @spring.validator-args arg1resource="user.password"
* @spring.validator-args arg1resource="user.confirmPassword"
* @spring.validator-var name="secondProperty" value="confirmPassword"
*/
public void setPassword(String password) {
this.password = password;
}
/**
* Sets the confirmedPassword.
*
* @param confirmPassword
* The confirmed password to set
* @spring.validator type="required"
*/
public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
}
/**
* Sets the firstName.
*
* @spring.validator type="required"
* @param firstName
* The firstName to set
*/
public void setFirstName(String firstName) {
this.firstName = firstName;
}
/**
* Sets the lastName.
*
* @param lastName
* The lastName to set
*
* @spring.validator type="required"
*/
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
* Sets the address.
*
* @param address
* The address to set
*
* @spring.validator
*/
public void setAddress(Address address) {
this.address = address;
}
/**
* Sets the email.
*
* @param email
* The email to set
*
* @spring.validator type="required"
* @spring.validator type="email"
*/
public void setEmail(String email) {
this.email = email;
}
/**
* Sets the phoneNumber.
*
* @param phoneNumber
* The phoneNumber to set
*
* @spring.validator type="mask" msgkey="errors.phone"
* @spring.validator-var name="mask" value="${phone}"
*/
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
/**
* Sets the website.
*
* @param website
* The website to set
*/
public void setWebsite(String website) {
this.website = website;
}
/**
* @param passwordHint
* The password hint to set
*
* @spring.validator type="required"
*/
public void setPasswordHint(String passwordHint) {
this.passwordHint = passwordHint;
}
/**
* Sets the roles.
*
* @param roles
* The roles to set
*/
public void setRoles(Set roles) {
this.roles = roles;
}
/**
* @return Returns the updated timestamp.
* @hibernate.version
*/
public Integer getVersion() {
return version;
}
/**
* @param updated
* The updated version to set.
*/
public void setVersion(Integer version) {
this.version = version;
}
/**
* @return Returns the weblogs.
*/
public Set getWeblogs() {
return weblogs;
}
/**
* @param weblogs
* The weblogs to set.
*/
public void setWeblogs(Set weblogs) {
this.weblogs = weblogs;
}
/**
* @return Returns the enabled.
* @hibernate.property column="enabled"
*/
public Boolean getEnabled() {
return enabled;
}
/**
* @param enabled
* The enabled to set.
*/
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
/**
* Convert user roles to LabelValue objects for convenience.
*/
public List getRoleList() {
List userRoles = new ArrayList();
if (this.roles != null) {
for (Iterator it = roles.iterator(); it.hasNext();) {
Role role = (Role) it.next();
// convert the user's roles to LabelValue Objects
userRoles.add(new LabelValue(role.getName(), role.getName()));
}
}
return userRoles;
}
/**
* @see java.lang.Object#equals(Object)
*/
public boolean equals(Object object) {
if (!(object instanceof User)) {
return false;
}
User rhs = (User) object;
return new EqualsBuilder().append(this.password, rhs.password).append(
this.passwordHint, rhs.passwordHint).append(this.address,
rhs.address).append(this.roles, rhs.roles).append(
this.firstName, rhs.firstName).append(this.lastName,
rhs.lastName).append(this.version, rhs.version).append(
this.weblogs, rhs.weblogs).append(this.enabled, rhs.enabled)
.append(this.confirmPassword, rhs.confirmPassword).append(
this.username, rhs.username).append(this.email,
rhs.email).append(this.phoneNumber, rhs.phoneNumber)
.append(this.website, rhs.website).isEquals();
}
/**
* @see java.lang.Object#hashCode()
*/
public int hashCode() {
return new HashCodeBuilder(-1892187061, -1292517047).append(
this.password).append(this.passwordHint).append(this.address)
.append(this.roles).append(this.firstName)
.append(this.lastName).append(this.version)
.append(this.weblogs).append(this.enabled).append(
this.confirmPassword).append(this.username).append(
this.email).append(this.phoneNumber).append(
this.website).toHashCode();
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("roles", this.roles).append("enabled", this.enabled)
.append("firstName", this.firstName).append("lastName",
this.lastName)
.append("passwordHint", this.passwordHint).append("version",
this.version).append("username", this.username).append(
"weblogs", this.weblogs).append("fullName",
this.getFullName()).append("email", this.email).append(
"phoneNumber", this.phoneNumber).append("password",
this.password).append("address", this.address).append(
"confirmPassword", this.confirmPassword).append(
"roleList", this.getRoleList()).append("website",
this.website).toString();
}
}
}]

Back to HibernateRelationships, or to the Page History.