java-apibuilder-generators-.../templates/jpa-entity.java.mustache
2021-09-18 14:55:08 +02:00

56 lines
1.9 KiB
Plaintext

/**
* Auto-generated from apibuilder.io service specification.
* apidoc-version : {{service.apidoc.version}}
* organisation : {{service.organization.key}}
* service-version : {{service.version}}
*
* Documentation at:
* <a href="https://app.apibuilder.io/{{service.organization.key}}/{{service.name}}/{{service.version}}">https://app.apibuilder.io/{{service.organization.key}}/{{service.name}}/{{service.version}}</a>
*
**/
package {{package}};
import javax.persistence.*;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.UpdateTimestamp;
import lombok.Data;
{{#imports}}
import {{{.}}};
{{/imports}}
/**
* {{description}}
* See <a href="https://app.apibuilder.io/{{service.organization.key}}/{{service.name}}/{{service.version}}#model-{{model.name}}">https://app.apibuilder.io/{{service.organization.key}}/{{service.name}}/{{service.version}}#model-{{model.name}}</a>
*
**/
@Entity
@Data
@Table(
name = "{{table}}",
indexes = {
{{#indexes}}
@Index(columnList = "{{.}}"),
{{/indexes}}
}
)
public class {{name}} {
{{#fields}}
{{#description}}/** {{.}} **/{{/description}}{{#isPkey}}
@Id{{/isPkey}}{{id_generator}}
@GeneratedValue({{#name}}generator = {{.}}{{/name}}){{#strategy}}
@GenericGenerator(name = {{name}}, strategy = {{.}}){{/strategy}}{{#type}}
@Type(type = {{.}}){{/type}}{{/id_generator}}{{#type.isCollection}}
@OneToMany{{/type.isCollection}}
@Column(nullable = {{nullable}}, unique = {{unique}}){{#isEnum}}
@Enumerated(EnumType.STRING){{/isEnum}}{{#updateTimestamp}}
@UpdateTimestamp{{/updateTimestamp}}{{#creationTimestamp}}
@CreationTimestamp{{/creationTimestamp}}
private {{{type.name}}} {{name}};
{{/fields}}
}