Hibernate如何不用配置mapping就使用数据库表映射实体
Hibernate每建一个表映射就在在hibernate-cfg-xml里加入mapping吗?如:<mappingclass="com.enon.testmodule....
Hibernate每建一个表映射就在在hibernate-cfg-xml里加入mapping吗?
如:
<mapping class="com.enon.testmodule.Entity.TbTestModule" />
有没有不用加入此代码就能实现映射调用的? 展开
如:
<mapping class="com.enon.testmodule.Entity.TbTestModule" />
有没有不用加入此代码就能实现映射调用的? 展开
5个回答
展开全部
用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文件了。其它还需要配置的地方请根据自己情况查查资料吧。
例如:
@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')这个注解其实就相当于了,它只是封装了映射这部分操作,让系统帮你完成。报错误提示可能是你哪里的配置没对吧。
展开全部
呵!用spring管理hibernate,连hibernate-cfg-xml都不用写!也就不用写<mapping class="com.enon.testmodule.Entity.TbTestModule" />这段代码了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!-- 扫描hibernate注解配置的entity -->
<property name="packagesToScan" value="com.test.entity" />
<property name="packagesToScan" value="com.test.entity" />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想怎么做?具体点?
更多追问追答
追问
就是不用在hibernate.cfg.xml里配置mapping就能使用getsession().load(table.class)读取数据呀。需要如何如编码?
追答
记不得是SessioFacotry还是Configration类,有一个mapEntity方法.
参数为一个class.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用注解 好像是这个吧 @entity
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询