Hibernate如何不用配置mapping就使用数据库表映射实体

Hibernate每建一个表映射就在在hibernate-cfg-xml里加入mapping吗?
如:
<mapping class="com.enon.testmodule.Entity.TbTestModule" />
有没有不用加入此代码就能实现映射调用的?

用xml配置时就需要每建一个表就hibernate-cfg-xml里加入它的映射。如果不用加入此代码就实现映射就要用注解的方式,系统会根据你的注解自动映射对应的数据表,实现几乎xml文件的零配置。
例如:
@Entity
@Table(name="user_info") //这个注解表明这个类对应数据表user_info
public class UserInfo implements Serializable{
//这里是mysql数据库的配置例子,相关配置请查阅相关资料
@Id
@Basic(optional=false)
@GeneratedValue(strategy=GenerationType.IDENTITY)

//这个类是一个POJO(简单java对象),相当于对数据表的一个映射,定义每个数据表的字段,
//并提供getter,setter方法。假如user_info有name,sex两个字段
private String name;
private String sex;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
//sex属性同上
}
这样就可以不用在xml文件里,对每个表进行描述和映射,也不用hibernate-cfg-xml文件了。其它还需要配置的地方请根据自己情况查查资料吧。追问

用了注解,虽然不用写XXX.hbn.xml,但还是要在hibernate-cfg-xml里加入:

才能运行吧?否则还是会提示:
org.hibernate.MappingException: Unknown entity: com.enon

其实我想要的效果是连mapping都不用配置,否则每个实体都要配,不便于管理。
我没有使用spring。

追答

用了注解就不用在在hibernate-cfg-xml里加入:了啥,@Table(name="user_info')这个注解其实就相当于了,它只是封装了映射这部分操作,让系统帮你完成。报错误提示可能是你哪里的配置没对吧。

追问

其他的都应该没问题,就是要配置,在网上找过原因,都说需要配置MAPPING。请问知道什么原因吗?

追答

这个就不清楚了,自己找找原因吧,配置正确了就可以达到你要的效果了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-24
呵!用spring管理hibernate,连hibernate-cfg-xml都不用写!也就不用写<mapping class="com.enon.testmodule.Entity.TbTestModule" />这段代码了!
第2个回答  2017-09-15
<!-- 扫描hibernate注解配置的entity -->
<property name="packagesToScan" value="com.test.entity" />
第3个回答  2013-07-24
你想怎么做?具体点?追问

就是不用在hibernate.cfg.xml里配置mapping就能使用getsession().load(table.class)读取数据呀。需要如何如编码?

追答

记不得是SessioFacotry还是Configration类,有一个mapEntity方法.
参数为一个class.

追问

没找到!还有什么方法没?

第4个回答  2013-07-25
用注解 好像是这个吧 @entity

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网