telosys - Telosys 不生成列定义(即用于 CHAR 列)
问题描述
当使用 Telosys 使用 java7-persistence-commons-jpa-T300 模板生成实体时,列注释在 JpaRecord 类中生成 @Column 注释时从不包含 columnDefinition。这会强制使用 hbm2ddl 生成数据库模式始终生成 VARCHAR 列。但是当原始数据库列是 CHAR 列时,生成的记录类也应该生成 columnDefinition... 即:@Column( columnDefinition = "CHAR(xx)" , name = "VVT_NR", nullable = false, length = 20 )
有没有办法强制 telosys 生成 columnDefinition (当然,xx 的长度正确)?
解决方案
上述模板中使用的 JPA 函数“$ jpa.fieldAnnotations ()”是为给定字段生成“经典”JPA 注释的快捷方式,实际上它不会生成所有“@Column”可选元素(例如“ table”、“insertable”、“updatable”和“columnDefinition”不生成)
在版本 3 中,无法强制生成器生成“columnDefinition”。
但是如果你真的想生成“columnDefinition”,你可以创建一个特定的函数或一个特定的宏。
要创建Velocity 宏,请参见:
- http://www.telosys.org/templates-doc/velocity/macro.html
- http://people.apache.org/~henning/docbook/html/ch07.html
要创建特定功能,请参阅另一个问题:
对于特定功能,您可以重用“$jpa”类源代码:
推荐阅读
- amazon-web-services - k8s - 使用 Promethues 和 cAdvisor 来监控微服务/Pod 数据
- docker - 如何使用修改后的本地 Docker 容器而不是 Docker 本地注册表中的早期版本
- java - 在spring boot jpa中的多对一映射中,外键未在子表中更新
- scala - Spark中使用键值对RDD构建kdtree
- c - 我在这里遇到分段错误,而它与字符串一起使用?
- pandas - 为两个 Pandas 数据帧设置等效的 dtype
- bixby - 如何在 Bixby 中存储数据
- hyperledger-fabric - 安装频道时出错:“错误:出现意外状态:BAD_REQUEST -- 未知联盟名称:SampleConsortium”
- google-analytics-firebase - 在 GAnalytics 中跟踪 AJAX 请求
- javascript - 如何使用 ES6 Symbol 处理 node.js 中的 new Error()?