我正在使用休眠工具将我的数据库重新设计为实体对象。为此,我使用带有复仇策略的 eclipse Hibernate 代码生成来自定义我的类和字段名称,因为我的数据库表使用我需要删除的前缀。
问题:如何在逆向工程 java 文件中记录语句。我无法让日志记录工作。
这是我的逆向工程课程的一部分:
public class HibernateReverseEngineering extends DelegatingReverseEngineeringStrategy {
private static final org.slf4j.Logger Logger = org.slf4j.LoggerFactory.getLogger(HibernateReverseEngineering.class);
public HibernateReverseEngineering(ReverseEngineeringStrategy delegate) {
super(delegate);
}
@Override
public String columnToPropertyName(TableIdentifier table, String column) {
if (column.length() > 5) {
Logger.trace("Property name: changing from column name");
return column.substring(5).toLowerCase();
} else {
Logger.trace("Property name: default from column name");
return super.columnToPropertyName(table, column);
}
}
有很多
地方可能会出错,但我在休眠和日志记录方面遇到了问题,这也可能出现在您的情况下。 Hibernate pom 声明依赖于 slf4j,但不依赖于 slf4j 日志记录接口的实现。 因此,您最终会得到一个日志记录接口,但没有实现!
在依赖项中包含以下内容:
org.slf4j:slf4j-simple:1.7.5