我正在使用org.hibernate.cfg.ImprovedNamingStrategy,但对于一个表我已经明确指定了表名
@Table(name="EventLog",schema = "eventlogs")
但是hibernate似乎在寻找event_log.不应该显式命名覆盖ImprovedNamingStrategy提供的命名
小智 10
如果您希望对所有表使用ImprovedNamingStrategy,除了明确指定名称的表,您可以使用下面的子类.该列名和表名的方法是当明确指定一个名字叫的,这个子类离开指定的名称不受干扰.
我认为这不是默认行为,这很奇怪.
public class RespectfulImprovedNamingStrategy extends ImprovedNamingStrategy
{
    @Override
    public String columnName(String columnName)
    {
        return columnName;
    }
    @Override
    public String tableName(String tableName)
    {
        return tableName;
    }
}
它是org.hibernate.cfg.ImprovedNamingStrategy的行为,它将混合大小写的名称转换为嵌入的下划线名称.http://docs.jboss.org/hibernate/core/3.5/api/org/hibernate/cfg/ImprovedNamingStrategy.html.因此,如果您明确使用名称"EventLog",它将转换为"event_log".
如果您只想使用在其中明确指定的名称@Table,则应使用org.hibernate.cfg.DefaultNamingStrategy.默认情况下,在实例化org.hibernate.cfg.Configuration对象时使用它
| 归档时间: | 
 | 
| 查看次数: | 14901 次 | 
| 最近记录: |