Telosys 不生成列定义(即对于 CHAR 列)
Telosys does not generate column definition (i.e. for CHAR-columns)
当使用 Telosys 使用 java7-persistence-commons-jpa-T300 模板生成实体时,在 JpaRecord-classes 中生成 @Column 注释时,列注释从不包含 columnDefinition。这会强制使用 hbm2ddl 的数据库模式生成始终生成 VARCHAR 列。
但是当原始数据库列是 CHAR 列时,生成的记录-class 也应该生成 columnDefinition...即:@Column(columnDefinition = "CHAR(xx)" , name = "VVT_NR", nullable = false, length = 20)
有没有办法强制 telosys 生成 columnDefinition(当然 xx 的长度正确)?
JPA函数“$jpa.fieldAnnotations()”
在提到的模板中使用的是为给定字段生成“classical”JPA 注释的快捷方式,实际上它不会生成所有“@Column”可选元素(例如“table” , “insertable”, “updatable” 和 “columnDefinition” 没有生成)
在版本 3 中,无法强制生成器生成“columnDefinition”。
但如果你真的想生成“columnDefinition”,你可以创建一个特定的函数或特定的宏。
要创建 速度宏,请参阅:
- http://www.telosys.org/templates-doc/velocity/macro.html
- http://people.apache.org/~henning/docbook/html/ch07.html
要创建 特定函数 请参阅其他问题:
对于特定功能,您可以重复使用“$jpa”class源代码:
当使用 Telosys 使用 java7-persistence-commons-jpa-T300 模板生成实体时,在 JpaRecord-classes 中生成 @Column 注释时,列注释从不包含 columnDefinition。这会强制使用 hbm2ddl 的数据库模式生成始终生成 VARCHAR 列。 但是当原始数据库列是 CHAR 列时,生成的记录-class 也应该生成 columnDefinition...即:@Column(columnDefinition = "CHAR(xx)" , name = "VVT_NR", nullable = false, length = 20)
有没有办法强制 telosys 生成 columnDefinition(当然 xx 的长度正确)?
JPA函数“$jpa.fieldAnnotations()” 在提到的模板中使用的是为给定字段生成“classical”JPA 注释的快捷方式,实际上它不会生成所有“@Column”可选元素(例如“table” , “insertable”, “updatable” 和 “columnDefinition” 没有生成)
在版本 3 中,无法强制生成器生成“columnDefinition”。
但如果你真的想生成“columnDefinition”,你可以创建一个特定的函数或特定的宏。
要创建 速度宏,请参阅:
- http://www.telosys.org/templates-doc/velocity/macro.html
- http://people.apache.org/~henning/docbook/html/ch07.html
要创建 特定函数 请参阅其他问题:
对于特定功能,您可以重复使用“$jpa”class源代码: