Jef*_*ker 10 java database hibernate jpa hibernate-annotations
我有一个JPA/Hibernate数据模型,我使用Hibernate hbm2ddl工具生成数据库DDL.我有一些字符串应该是CHAR,一些字符串可能是数据库中的VARCHAR.我想尽量减少DDL的手工编辑(我意识到有些必须发生).
有谁知道我应该怎么做?我意识到我可以通过被黑客攻击的方言制作所有的Strings VARCHARS或CHARS,但这并不是数据库中总是适用的.
我希望能够使用注释或aop执行此操作,避免在我的类中自定义列定义文本.
谢谢.
小智 14
用数据库注释要映射到数据库中CHAR的字符串
@Column(columnDefinition="CHAR(<your-char-length>)").
所以,我终于发现可以为方言中的类型指定长度限制。所以,我决定长度小于 10 的任何内容都应该是 char,超过 10 的任何内容都应该是 varchar:
registerColumnType( Types.VARCHAR, 10, "char($l)" );
Run Code Online (Sandbox Code Playgroud)
这并不完全是我想要的,但已经足够好了。遗憾的是我没有早点发现这一点。
| 归档时间: |
|
| 查看次数: |
12378 次 |
| 最近记录: |