| #if ($table.package != "") |
| package ${table.package}; |
| #end |
| |
| import java.io.Serializable; |
| import javax.persistence.*; |
| |
| /** |
| * The primary key class for the ${table.name} database table. |
| * |
| */ |
| @Embeddable |
| public class ${table.compositeKeyClassName} implements Serializable { |
| //default serial version id, required for serializable classes. |
| private static final long serialVersionUID = 1L; |
| ##### |
| ##### fields |
| ##### |
| #foreach ($column in $table.primaryKeyColumns) |
| #if ($table.access == "field") |
| |
| #parse("column.vm") |
| #end |
| ${column.fieldScope} ${column.propertyType} ${column.propertyName}; |
| #end |
| |
| public ${table.compositeKeyClassName}() { |
| } |
| ##### |
| ##### simple properties getters and setters |
| ##### |
| #foreach ($column in $table.primaryKeyColumns) |
| #if ($table.access == "property") |
| |
| #parse("column.vm") |
| #end |
| $column.propertyGetScope $column.propertyType $customizer.propertyGetter($column.propertyName)() { |
| return this.${column.propertyName}; |
| } |
| $column.propertySetScope void $customizer.propertySetter($column.propertyName)($column.propertyType $column.propertyName) { |
| this.${column.propertyName} = ${column.propertyName}; |
| } |
| #end |
| ## |
| ## equals/hashCode |
| |
| public boolean equals(Object other) { |
| if (this == other) { |
| return true; |
| } |
| if (!(other instanceof ${table.compositeKeyClassName})) { |
| return false; |
| } |
| ${table.compositeKeyClassName} castOther = (${table.compositeKeyClassName})other; |
| return |
| ${table.primaryKeyEqualsClause} |
| |
| } |
| |
| public int hashCode() { |
| final int prime = 31; |
| int hash = 17; |
| ${table.primaryKeyHashCodeClause} |
| return hash; |
| } |
| } |