注意,引用的是javax.persistence.Column和javax.persistence.Table,起初我以为注解既然配置的是Hibernate的实体用的,是不是应该引用hibernate包下的table和column,后来出了问题,找了好长时间才发现问题出在应该引用的不是hibernate包里的,方法可以写main方法测试。
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import javax.persistence.Column;
import javax.persistence.Table;
/**
* 获取字段
*
* @param classtype
*/
@SuppressWarnings(value = { "rawtypes" })
public static Map<String, String> getColumns(Class classtype) {
Field[] fields = classtype.getDeclaredFields();
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < fields.length; i++) {
Annotation[] annotations = fields[i].getAnnotations();
for (int j = 0; j < annotations.length; j++) {
if (annotations[j] instanceof Column) {
Column column = (Column) annotations[j];
System.out.print(fields[i].getName() + "、");
System.out.println(column.name());
map.put(fields[i].getName(), column.name());
}
}
}
return map;
}
/**
* 获取表名
*
* @param classtype
* @return
*/
@SuppressWarnings(value = { "rawtypes" })
public static String getTableName(Class classtype) {
Annotation[] anno = classtype.getAnnotations();
String tableName = "";
for (int i = 0; i < anno.length; i++) {
if (anno[i] instanceof Table) {
Table table = (Table) anno[i];
System.out.println(table.name());
tableName = table.name();
}
}
return tableName;
}
分享到:
相关推荐
这可能意味着提供的代码或工具是在CodeFans(一个编程技术社区)上找到的,它可能包含特定数据库系统的Python脚本、Java类或其他语言的实现,用于获取表名和字段名。 请注意,由于没有具体的代码或工具可以参考,...
在`<hibernate-mapping>`标签下,我们可以为每个实体类创建一个`<class>`标签,其中`name`属性是实体类的全限定名,`table`属性则是对应的数据库表名。 接着,我们来看实体类中的字段与数据库列的映射。Hibernate...
通过本文的介绍,我们可以看到Hibernate中的注解配置为开发者提供了极大的便利性和灵活性。合理的使用这些注解不仅可以提高开发效率,还能使代码更加清晰易读。希望本文能帮助读者更好地理解和运用Hibernate中的注解...
此外,使用Hibernate的注解配置,还需要在应用的启动配置中指定实体类的包名,以便Hibernate扫描到这些注解。例如,如果你的实体类都在`com.example.entity`包下,那么配置可能如下: ```java @Configuration @...
总结来说,Struts2、Spring3.0和Hibernate3.3的全注解配置简化了代码,提高了可读性和可维护性。通过注解,我们可以快速地定义bean、映射请求、管理事务和数据库关系。这个数据库示例表明了这些技术在实际项目中的...
hibernate@注解方式配置实体类时,利用javadoc接口生成数据库表及字段的注释说明,支持oracle、sqlserver、db2、mysql数据库。因用到java\lib\tools.jar,需要将该jar放入工程lib下(或者tomcat\lib下、或加入...
Hibernate4.0注解配置详解,Hibernate4.0注解配置详解,Hibernate4.0注解配置详解
这些注解可以帮助JPA provider(例如Hibernate)生成对应的数据库表结构和SQL语句。 三、Hibernate概述 Hibernate是一个基于JPA规范的ORM(Object-Relational Mapping)框架,它提供了对数据库的访问和操作功能。...
标题“Hibernate映射关系配置:XML方式和注解方式”涉及到的是Java持久层框架Hibernate中的一个重要概念——对象关系映射(ORM)。在这个主题中,我们将探讨如何通过XML映射文件和注解来配置Hibernate实体之间的关系...
在注解配置下,我们不再需要`hibernate.cfg.xml`配置文件,而是使用`@Entity`注解标识实体类,`@Table`定义对应的数据库表,`@Id`标识主键,`@GeneratedValue`处理自增主键等。此外,`@ManyToOne`、`@OneToOne`、`@...
Hibernate 更新某些字段 Hibernate 是一个基于 Java 的 ORM 框架,它提供了对数据库的操作接口。在实际开发中,我们经常需要更新数据库中的某些字段,而不是所有字段。那么,如何使用 Hibernate 实现更新某些字段呢...
总的来说,Hibernate的注解配置使得对象和数据库之间的映射变得更加直观和简洁,减少了XML配置的工作量,提高了开发效率。通过学习和实践这些注解,你可以更好地理解和掌握Hibernate在实际项目中的应用。
javabean中有100个属性字段,想要在前端页面获取这100个字段和字段对应的中文名称,如用户名称(username),密码(password),可以动态的获取到中文名称和属性字段,并返回前端页面,本例只实现动态解析功能
在Java持久化API (JPA) 和Hibernate框架中,注解是一种方便且强大的方式来配置对象关系映射(ORM),使Java对象与数据库中的表进行对应。以下是对标题和描述中涉及的Hibernate映射注解的详细解释: 1. **@Entity(name...
Hibernate提供了一种灵活的查询语言——HQL(Hibernate Query Language),以及 Criteria 查询和 Criteria API,它们都可以用来获取数据表中的特定字段。 二、Hibernate配置 在使用Hibernate进行查询前,首先需要...
在IT行业中,数据库字段名和Java编程语言中的字段命名规则往往存在差异。数据库字段名通常遵循下划线分隔的命名规范,例如`user_name`,而Java字段名则遵循驼峰式命名,如`userName`。这篇博客《数据库字段名转换成...
在Hibernate的`SessionFactory`配置中,需要指定`lobHandler` Bean来处理CLOB和BLOB字段: ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> ...
Hibernate支持注解配置和XML配置两种方式来实现ORM映射和相关操作。 在Hibernate中,注解配置通常用于描述Java类和数据库表之间的映射关系,以及对象的持久化行为。通过在实体类中使用注解(如@Entity、@Table、@Id...
@Table注解用于指定实体所对应的数据库表名和表的特定属性,如schema和catalog。 2.3 @Id @Id注解标记实体类中的主键字段,通常与@GeneratedValue注解一起使用,用于自动生成主键值。 2.4 @GeneratedValue @...