Java 冬眠多元化
我有Java 冬眠多元化,java,hibernate,orm,netbeans,pluralize,Java,Hibernate,Orm,Netbeans,Pluralize,我有 当前正在生产中用于CakePHP应用程序的MySQL数据库 通过Hibernate访问同一数据库的JavaSE应用程序,目前正在开发中 我正在使用Netbeans的“自动迁移”功能来创建POJO类和XML文件(在使用注释时我真的需要XML文件吗?)。由于模式非常复杂,手动创建表的工作量太大 Cake希望所有DB表都是复数的(Address类自动映射到addresses表)。当运行Netbeans自动迁移时,它会对已经复数化的表名进行复数化(我得到Addresses.java和setAd
- 当前正在生产中用于CakePHP应用程序的MySQL数据库
- 通过Hibernate访问同一数据库的JavaSE应用程序,目前正在开发中
我知道在同一个数据库上运行两个非常不同的数据层是自找麻烦,但我想知道是否有可能让Netbeans以单数形式生成POJO类,或者是否有其他(更好的)方法来管理它 进行逆向工程时,可以使用。引用文件: 可以实现一个用户 战略。这种战略必须实施
org.hibernate.cfg.reveng.ReverseEngineeringStrategy.
建议使用
delegatingreverseeengineeringstrategy
并提供一个公共构造函数
再拿一个
ReverseEngineeringStrategy
as
论点这将只允许您
落实相关方法和措施
提供后备策略。例子
自定义授权策略的
转换结束的所有列名
将“PK”转换为名为“id”的属性
在您的情况下,您可能希望实现
public String tableToClassName(TableIdentifier tableIdentifier) {
return delegate==null?null:delegate.tableToClassName(tableIdentifier);
}
将从表名(地址
=>地址
)生成的类“去模糊化”
但遗憾的是,如果用户碰巧有反向工程策略,NetBeans没有提供选择反向工程策略的选项(如果时间允许,这是为NetBeans 7.0计划的增强)
因此,如果您想使用自定义策略,就必须使用Ant或Maven。这在NetBeans中目前是不可能的
public String tableToClassName(TableIdentifier tableIdentifier) {
return delegate==null?null:delegate.tableToClassName(tableIdentifier);
}