Hiberante Tools Template 研究

对象映射

POJOClass->pojo

PersistentClass->clazz

CfgHbmTool->c2h

Cfg2JavaTool->c2j


名称 方法 备注

判断是否Embedded类型 pojo.isComponent()

导入参数指定类型 pojo.importType("类型名") pojo.importType("javax.persistence.Embeddable")

clazz.table.schema

clazz.table.name

clazz.table.catalog

clazz.table.primaryKey org.hibernate.mapping.PrimaryKey(article[org.hibernate.mapping.Column(id)]) as PRIMARY

是否有主键 pojo.hasIdentifierProperty()

ID pojo.generateAnnIdGenerator()

得到包定义 pojo.getPackageDeclaration()

类名 pojo.getDeclarationName()

类全名 clazz.entityName

得到所有属性 pojo.getAllPropertiesIterator()

得到主键 clazz.identifierProperty

判断属性是否一对一 c2h.isOneToOne(property)

判断属性是否多对一 c2h.isManyToOne(property)

判断属性是否集合 c2h.isCollection(property)

生成一对一注解 pojo.generateOneToOneAnnotation(property, cfg)

生成多对一注解 pojo.generateManyToOneAnnotation(property)

生成联合字段注解 pojo.generateJoinColumnsAnnotation(property, cfg)

生成集合注解 pojo.generateCollectionAnnotation(property, cfg)

生成基本注解 pojo.generateBasicAnnotation(property)

生成对应字段名注解 pojo.generateAnnColumnAnnotation(property) 

例子:@Column(name="id", unique=true, nullable=false)

获取Jdk5类型的类型名 pojo.getJavaTypeName(property, jdk5)

获取pojo.getGetterSignature(property)

获取方法范围修饰 pojo.getPropertyGetModifiers(property)

判断是否接口 pojo.isInterface()

判断类范围修饰 pojo.getClassModifiers()

获取定义类型 pojo.getDeclarationType();

生成导入列表 pojo.generateImports()


primarykey

<#assign primarykeyType><#list pojo.getAllPropertiesIterator() as property><#if pojo.getMetaAttribAsBool(property, "gen-property", true)><#if ejb3><#if pojo.hasIdentifierProperty()><#if property.equals(clazz.identifierProperty)>${pojo.getJavaTypeName(property, jdk5)}</#if></#if></#if></#if></#list></#assign>


你可能感兴趣的:(Hibernate,template)