Hibernate如何不用配置mapping就使用数据库表映射实体
答案:5 悬赏:40 手机版
解决时间 2021-04-15 00:32
- 提问者网友:疯子也有疯子的情调
- 2021-04-14 00:19
Hibernate如何不用配置mapping就使用数据库表映射实体
最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-04-14 00:32
用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。请问知道什么原因吗?追答这个就不清楚了,自己找找原因吧,配置正确了就可以达到你要的效果了。
例如:
@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里加入:
全部回答
- 1楼网友:患得患失的劫
- 2021-04-14 04:32
- 2楼网友:狂恋
- 2021-04-14 03:54
你想怎么做?具体点?追问就是不用在hibernate.cfg.xml里配置mapping就能使用getsession().load(table.class)读取数据呀。需要如何如编码?追答记不得是SessioFacotry还是Configration类,有一个mapEntity方法.
参数为一个class.追问没找到!还有什么方法没?
参数为一个class.追问没找到!还有什么方法没?
- 3楼网友:蓝房子
- 2021-04-14 02:57
用注解 好像是这个吧 @entity
- 4楼网友:英雄的欲望
- 2021-04-14 01:44
呵!用spring管理hibernate,连hibernate-cfg-xml都不用写!也就不用写 这段代码了!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯