初学hibernate,改写老的项目,由于老的项目表,字段都是大小写,网上看了别人一个贴继承改写ImprovedNamingStrategy
public class MPSNameingStrategy extends ImprovedNamingStrategy {
private static final long serialVersionUID = 1L;
@Override
public String classToTableName(String className) {
return className;
}
@Override
public String columnName(String columnName) {
return columnName;
}
@Override
public String tableName(String tableName) {
return tableName;
}
@Override
public String propertyToColumnName(String propertyName) {
return propertyName;
}
}
实体类
@Entity(name=Base_Product.TABLE_NAME)
//@Table(name=Base_Product.TABLE_NAME)
//@org.hibernate.annotations.Table(appliesTo = Base_Product.TABLE_NAME,comment="流程活动定义表")
public class Base_Product implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1774573695378068468L;
public static final String TABLE_NAME="\"Base_Product\"";
protected Long Product_Id;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)//hibernate主键策略,使用hibernate,其他数据库大家参考hibernate参考
@Column(name="\"Product_Id\"")
public Long getProduct_Id() {
return Product_Id;
}
public void setProduct_Id(Long product_Id) {
Product_Id = product_Id;
}
@Column(name="\"Product_Code\"")
public String getProduct_Code() {
return Product_Code;
}
public void setProduct_Code(String product_Code) {
Product_Code = product_Code;
}
private String Product_Code;
}
修改hibernate配置文件<property name="namingStrategy">
<bean class="a.b.MPSNameingStrategy" />
</property
运行测试用例
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
@ContextConfiguration(locations = { "classpath*:/applicationContext-test.xml" })
public class ProductTest extends AbstractTransactionalJUnit4SpringContextTests {
@Autowired
private JdbcTemplate jdbcTemplate;
public NamedParameterJdbcTemplate getNPJdbc(){
return new NamedParameterJdbcTemplate(jdbcTemplate);
}
@Test
public void checkProduct()
{
HashMap<String,List> paramMap = new HashMap<String,List>();
List<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
paramMap.put("list",list);
String sql = "select * from \"Base_Product\" t where t.\"Product_Code\" in (:list)";
List<Base_Product> mrs =this.getNPJdbc().query(sql,paramMap,BeanPropertyRowMapper.newInstance(Base_Product.class));
for(Base_Product bp:mrs){
System.out.println(bp.getProduct_Id());
}
}
}
生成表:
CREATE TABLE "Base_Product"
(
"Product_Id" NUMBER(19) NOT NULL,
"Product_Code" VARCHAR2(255 CHAR)
)
分享到:
相关推荐
Hibernate中对表某个字段排序,直接在配置里面实现排序功能。
在Java的持久化框架中,Hibernate是一个非常重要的工具,它为开发者提供了强大的对象关系映射(ORM)功能,使得数据库操作变得更为简单。本篇主要围绕"hibernate的表关联操作"展开,通过映射关系来实现对实体类的增...
本文将深入探讨在Hibernate中如何有效地管理和操作大字段,以确保性能和数据完整性的最佳实践。 一、CLOB与BLOB类型 1. CLOB:CLOB用于存储非结构化的文本数据,如长篇小说、XML文档等。在Hibernate中,CLOB对应的...
在Java的持久化框架中,Hibernate是一个非常重要的工具,它提供了ORM(对象关系映射)功能,使得开发者能够更方便地操作数据库。本篇将详细讲解如何使用Hibernate进行查询,特别是针对数据表中的一个特定字段。 一...
在本项目中,"Spring+Hibernate写的登录小例子" 是一个使用了两种流行Java框架——Spring和Hibernate——构建的简单登录应用。这个示例旨在帮助初学者理解如何整合这两个强大的框架来实现用户登录功能,同时也涉及到...
Hibernate是一款强大的Java持久化框架,它允许开发者将数据库操作与业务逻辑解耦,极大地提高了开发效率。在描述中提到的“hibernate自动生成”是指Hibernate提供的代码生成工具,能够帮助我们快速创建Entity(实体...
hibernate@注解方式配置实体类时,利用javadoc接口生成数据库表及字段的注释说明,支持oracle、sqlserver、db2、mysql数据库。因用到java\lib\tools.jar,需要将该jar放入工程lib下(或者tomcat\lib下、或引用方式都行...
接着,我们通过Hibernate的注解或XML配置文件,定义这些属性与数据库表字段的映射关系。 接下来,引入STS(Spring Tool Suite)作为开发环境,它集成了Spring框架,对于整合Hibernate非常便利。在STS中,我们可以...
映射文件定义了实体类与数据库表之间的映射关系,以及实体类属性与表字段之间的映射关系。主配置文件则包含数据库连接的相关属性值,它描述了Hibernate与数据库交互的方式。 Hibernate工作原理的理解是掌握该框架的...
hibernate逆向生成小问题,主要是由数据库反向自成domain.
【标题】"自己动手模仿Hibernate写数据库框架"揭示了本次讨论的核心内容——尝试构建一个类似于Hibernate的数据库操作框架。Hibernate是一个流行的Java ORM(对象关系映射)框架,它简化了数据库与Java对象之间的...
在Java Web开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它极大地简化了数据库操作。当处理大数据字段,如长文本、图片或视频等时,Hibernate提供了有效的方法来存储和检索这些数据。本示例将详细...
【JavaEE实验五:大学本科生Hibernate】实验主要目标在于让学生掌握Hibernate开发环境的搭建,理解ORM框架的概念,以及深入理解Hibernate映射文件和配置文件的使用。Hibernate是一个强大的ORM(对象关系映射)框架,...
以下是对标题“Hibernate 必须8大jar包”和描述中的知识点的详细解释: 1. Hibernate核心库:这是使用Hibernate的基础,包含了ORM的主要功能,如实体管理、会话管理、查询API等。主要的JAR文件为`hibernate-core....
【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...
3. 实体类和映射文件:在Hibernate中,每个Java实体类都对应着数据库中的一个表,通过XML映射文件(hbm.xml)或注解方式来定义字段与表字段的对应关系。实体类通常需要继承Hibernate的Serializable接口,并使用@...
**hibernate学习资料大合集** 本资料合集涵盖了关于Hibernate的各种学习资源,包括PDF、CHM和Word文档,旨在帮助开发者深入理解和掌握Hibernate这一强大的Java持久化框架。Hibernate作为一个对象关系映射(ORM)...
Hibernate+Struts jar包冲突问题
【描述】提到"Y2Hibernate 自己写的 内部测试 阶段测试",这表明这是一个学习者或教师在该阶段自行设计并实施的测试,目的是检验个人对Hibernate框架的掌握程度,包括但不限于配置、对象持久化、查询语言(HQL)和...
"Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...