import org.hibernate.cfg.ImprovedNamingStrategy;
@SuppressWarnings("serial")
public class NightNamingStrategy extends ImprovedNamingStrategy
{
private String tablePrefix = "t_";
private String columnPrefix = "c_";
@Override
public String collectionTableName(String ownerEntity, String ownerEntityTable, String associatedEntity, String associatedEntityTable, String propertyName)
{
return tableName(ownerEntityTable + "_" + associatedEntityTable);
}
@Override
public String propertyToColumnName(String propertyName)
{
return (this.columnPrefix + super.propertyToColumnName(propertyName)).toUpperCase();
}
@Override
public String classToTableName(String className)
{
return (this.tablePrefix + super.classToTableName(className)).toUpperCase();
}
}
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!--配置命名规则-->
<property name="namingStrategy">
<bean class="naming.NightNamingStrategy"></bean>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">${hbm2ddl.auto}</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${show_sql}</prop>
<prop key="hibernate.format_sql">${format_sql}</prop>
<!--<prop key="hibernate.current_session_context_class">thread</prop>-->
</props>
</property>
<property name="packagesToScan" value="tpcframework" />
</bean>
分享到:
相关推荐
你可以看到这个类对属性的存取方法(getter and setter method)使用了标准JavaBean命名约定,同时把类属性(field)的访问级别设成私有的(private)。这是推荐的设计,但并不是必须的。Hibernate也可以直接访问...
2. **创建Hibernate配置文件**:通常命名为`hibernate.cfg.xml`,此文件用于配置数据库连接信息和其他全局设置。 3. **创建持久化类**:持久化类代表数据库中的表,需要遵循一定的约定,例如提供无参数构造器、标识...
同时,这个类通过标准的JavaBean命名约定定义了属性的getter和setter方法。 在创建了持久化类之后,我们需要配置Hibernate来连接数据库并进行操作。Hibernate的配置通常涉及到配置文件(如hibernate.cfg.xml),在...
此外,为了保证系统的可扩展性和可维护性,良好的代码组织结构和规范的命名约定也是必不可少的。 总的来说,Struts2、Hibernate和Spring的整合,为在线考试系统提供了一个稳定、高效的开发基础。通过充分利用这三个...
枚举类应遵循良好的命名约定,每个枚举常量应具有描述性的名称。为了提供更好的可读性,还可以添加`toString()`方法,返回易于理解的字符串表示。 6. **性能考虑**: 使用枚举映射可能会增加数据库的开销,特别是...
你可以看到这个类对属性的存取方法(getter and setter method)使用了标准JavaBean命名约定,同时把类属性(field)的访问级别设成私有的(private)。这是推荐的设计,但并不是必须的。Hibernate也可以直接访问...
- **配置文件**: 整合三大框架时,合理的配置文件结构和命名约定对于项目的可维护性和可读性非常重要。 综上所述,Spring、Hibernate和Struts2的集成不仅提高了开发效率,还增强了应用程序的灵活性和可扩展性。深入...
4.3.6 实现命名约定 4.4 细粒度的模型和映射 4.4.1 映射基础属性 4.4.2 映射组件 4.5 小结 第5章 继承和定制类型 5.1 映射类继承 5.1.1 每个带有隐式多态的具体类一张表 5.1.2 每...
理解Hibernate Annotation的编程风格,包括命名约定、注解的顺序和位置,以及如何保持代码的整洁性和可读性。 ### 第 4 课 资源 学习相关的学习资源,如官方文档、教程、示例代码,以及社区论坛,这些都能帮助深入...
- **实现NamingStrategy**:自定义命名策略以适应不同的命名约定。 - **实现PersisterClassProvider**:扩展Hibernate的功能以支持定制化的Persister类。 - **XML配置文件**:使用XML文件来配置Hibernate的各种选项...
- **命名策略**:自定义 Hibernate 的默认命名策略,例如表名和列名的生成规则。 - **XML 配置文件**:详细说明如何使用 XML 文件配置 Hibernate。 #### 四、持久化类 - **简单的 POJO 示例**:通过实例展示如何...
- **包名约定:** 建议采用`com.cn.org.itheima`作为前缀,后跟小写的模块名。 - **类名和方法名:** 类名首字母大写,采用驼峰式命名法;方法名采用小驼峰式命名。 **实体类示例:** ```java public class User { ...
- **DAO类命名**:直接使用由Hibernate自动生成的类。 - **Action类命名**:以POJO名称后加上“Action”来命名。 - **ActionForm类命名**:以POJO名称后加上“Form”来命名。 - **业务逻辑接口命名**:以POJO...
北软教育发布的《开发代码格式规范及命名规约》PDF文档详细阐述了在软件开发过程中应遵循的一系列编码规范和命名约定,旨在提高代码的可读性、一致性和维护性。以下是对该文档中关键知识点的深入解读: ### 一、...
使用JavaBean命名约定和私有属性访问是为了提供更好的代码可维护性和灵活性。此外,类还包含一个无参数的构造函数,以支持Hibernate通过反射机制创建对象。 在后续章节中,作者很可能会详细介绍如何配置Hibernate,...
- **命名约定**: 映射文件通常命名为`Xxx.hbm.xml`。 - **根元素**: `<hibernate-mapping>`。 - **子元素**: `<class>`用于定义类和数据库表之间的映射关系。 - **属性**: - `name`: 指定Java类的全限定名称。 - ...
- **实现NamingStrategy**:自定义命名策略,以满足特定的应用程序命名约定。 - **XML配置文件**:详解`hibernate.cfg.xml`文件的各个配置项。 - **J2EE应用程序服务器的集成**: - **事务策略配置**:配置...
定义持久化对象(POJO),确保它们遵循一定的命名规则和约定。 2. 创建映射文件,定义对象和数据库表之间的映射关系。 3. 编写测试或应用代码,通过`Configuration`读取配置文件并创建`SessionFactory`。 4. ...
1. 字段命名规则:生成的实体类属性名可能会遵循某种约定,如驼峰命名,如果与数据库列名不一致,可能需要手动调整。 2. 关联关系:如果数据库中存在外键,生成的映射文件需要正确表示这些关联关系,如一对一、一对...