diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
index b053bf5..dbd7358 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
@@ -546,6 +546,20 @@
 	public String propertySetter(String propertyName) {
 		return "set"+StringUtil.initUpper(propertyName);
 	}
+	/**
+	 * Returns a add method name given a property name.
+	 */
+	public String propertyAdd(String propertyName) {
+		String name = StringUtil.singularise(propertyName);
+		return "add"+StringUtil.initUpper(name);
+	}
+	/**
+	 * Returns a remove method name given a property name.
+	 */
+	public String propertyRemove(String propertyName) {
+		String name = StringUtil.singularise(propertyName);
+		return "remove"+StringUtil.initUpper(name);
+	}
 	public String quote(String s) {
 		return StringUtil.quote(s, '"');
 	}
@@ -561,6 +575,9 @@
 	public String convertToXmlStringLiteral(String s) {
 		return StringTools.convertToXmlAttributeValue(s);
 	}
+	public String convertToSingularisedString(String s) {
+		return StringUtil.singularise(s);
+	}
 	/**
 	 * Appends an annotation member name and value to an existing annotation.
 	 * 
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
index 31306f4..dc59acb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
@@ -128,6 +128,11 @@
 		this.${role.propertyName} = $role.propertyName;
 	}
 
+#if ($role.cardinality == "one-to-many" && $role.association.bidirectional)
+#parse("oneToManyMethods.vm")
+
+
+#end
 ##
 #end
 ##
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToManyMethods.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToManyMethods.vm
new file mode 100644
index 0000000..c0ba039
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToManyMethods.vm
@@ -0,0 +1,16 @@
+##included template. Generates the @OneToMany methods.
+##Assumes that the context has a "role" object representing the generated AssociationRole
+##
+	public $role.referencedTable.className $customizer.propertyAdd($role.propertyName)($role.referencedTable.className $customizer.convertToSingularisedString($role.propertyName)) {
+		$customizer.propertyGetter($role.propertyName)().add($customizer.convertToSingularisedString($role.propertyName));
+		$customizer.convertToSingularisedString($role.propertyName).$customizer.propertySetter($role.oppositeRole.propertyName)(this);
+
+		return $customizer.convertToSingularisedString($role.propertyName);
+	}
+
+	public $role.referencedTable.className $customizer.propertyRemove($role.propertyName)($role.referencedTable.className $customizer.convertToSingularisedString($role.propertyName)) {
+		$customizer.propertyGetter($role.propertyName)().remove($customizer.convertToSingularisedString($role.propertyName));
+		$customizer.convertToSingularisedString($role.propertyName).$customizer.propertySetter($role.oppositeRole.propertyName)(null);
+
+		return $customizer.convertToSingularisedString($role.propertyName);
+	}
\ No newline at end of file
