/template/java_src/${basepackage_dir}/model/${className}Id.java
Java | 56 lines | 44 code | 12 blank | 0 comment | 0 complexity | 79ddb217531c2b2306aefae37663dfa6 MD5 | raw file
- ${gg.setIgnoreOutput(table.pkCount <= 1)}
- <#include "/macro.include"/>
- <#include "/java_copyright.include">
- <#assign className = table.className>
- <#assign classNameLower = className?uncap_first>
- package ${basepackage}.model;
- import javax.persistence.*;
- import org.apache.commons.lang.builder.EqualsBuilder;
- import org.apache.commons.lang.builder.HashCodeBuilder;
- import org.apache.commons.lang.builder.ToStringBuilder;
- <#include "/java_imports.include">
- @Embeddable
- public class ${className}Id extends BaseEntity implements java.io.Serializable{
- private static final long serialVersionUID = 5454155825314635342L;
-
- <#list table.columns as column>
- <#if column.pk>
- private ${column.javaType} ${column.columnNameLower};
- </#if>
- </#list>
- <@generateConstructor className+"Id"/>
-
- <#list table.columns as column>
- <#if column.pk>
-
- public void set${column.columnName}(${column.javaType} value) {
- this.${column.columnNameLower} = value;
- }
-
- <#if column.isDateTimeColumn>
- @Temporal(TemporalType.DATE)
- </#if>
- @Column(name = "${column.sqlName}", unique = ${column.unique?string}, nullable = ${column.nullable?string}, insertable = true, updatable = true, length = ${column.size})
- public ${column.javaType} get${column.columnName}() {
- return this.${column.columnNameLower};
- }
- </#if>
- </#list>
- public String toString() {
- return ToStringBuilder.reflectionToString(this);
- }
-
- public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
- }
-
- public boolean equals(Object other) {
- return EqualsBuilder.reflectionEquals(this, other);
- }
- }