added jpa entity generator
parent
5e3343e200
commit
ba746b8a41
|
@ -11,6 +11,10 @@ module.exports = {
|
|||
model.package = `${namespace}.${suffix}`;
|
||||
model.dir = model.package.replace(/\./g, '/')
|
||||
model.fields = model.fields.map(field => {
|
||||
|
||||
let field_attr = field.attributes.find(attr => attr.name == 'jpa_sql')
|
||||
field_attr = field_attr || {}
|
||||
|
||||
field.isEnum = service.enums.find(e => e.name == field.type) != null
|
||||
field.name = utils.camelcase(field.name)
|
||||
field.type = javaType.mapJavaType(field.type, namespace, field.isEnum ? '' : 'Record')
|
||||
|
@ -23,8 +27,11 @@ module.exports = {
|
|||
field.default = javaType.mapDefaultValue(field.type, field.default)
|
||||
field.nullable = !field.required
|
||||
field.isPkey = jpa.pkey == field.name
|
||||
field.unique = field.attr.unique
|
||||
field.creationTimestamp = field_attr.timestamp == 'create'
|
||||
field.updateTimestamp = field_attr.timestamp == 'update'
|
||||
|
||||
console.log("field", field)
|
||||
|
||||
|
||||
return field
|
||||
})
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
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 {{{.}}};
|
||||
|
@ -34,12 +38,13 @@ import {{{.}}};
|
|||
public class {{name}} {
|
||||
|
||||
{{#fields}}
|
||||
{{#description}}/** {{.}} **/{{/description}}
|
||||
{{#isPkey}}
|
||||
{{#description}}/** {{.}} **/{{/description}}{{#isPkey}}
|
||||
@Id{{/isPkey}}{{#type.isCollection}}
|
||||
@OneToMany{{/type.isCollection}}
|
||||
@Column(nullable = {{nullable}}){{#isEnum}}
|
||||
@Enumerated(EnumType.STRING){{/isEnum}}
|
||||
@Column(nullable = {{nullable}}, unique = {{unique}}){{#isEnum}}
|
||||
@Enumerated(EnumType.STRING){{/isEnum}}{{#updateTimestamp}}
|
||||
@UpdateTimestamp{{/updateTimestamp}}{{#creationTimestamp}}
|
||||
@CreationTimestamp{{/creationTimestamp}}
|
||||
private {{{type.name}}} {{name}};
|
||||
|
||||
{{/fields}}
|
||||
|
|
Loading…
Reference in New Issue