关于hibernate注解方式的实体类映射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于hibernate注解方式的实体类映射相关的知识,希望对你有一定的参考价值。
我想知道 比如一个表的某个字段 是另一个表的外键 那我在实体类中 的注解应该怎么写 是@ManyToOne么? 那然后该写@JoinColumn ? 这个不是关联的列么 那我去哪里写关联的表 大概就是这意思 求不复制的回答 或者给我举个几个具体点的例子 不要网上那些看不... 我想知道 比如一个表的某个字段 是另一个表的外键 那我在实体类中 的注解应该怎么写 是@ManyToOne么? 那然后该写@JoinColumn ? 这个不是关联的列么 那我去哪里写关联的表 大概就是这意思 求不复制的回答 或者给我举个几个具体点的例子 不要网上那些看不懂的
参考技术A 多对一的单向映射:以Group和User为例@Entity
class
User
private
Group
g;
@ManyToOne
@JoinColumn(name="g_id")
public
Group
getG()
hibernate用注解替代映射文件
1.首先把原来的映射文件删掉,给实体类添加注解:
@Entity //声明当前类为hibernate映射到数据库中的实体类 @Table(name="news") //声明table的名称 public class News { @Id //声明此列为主键,作为映射对象的标识符 /** * @GeneratedValue注解来定义生成策略 * GenerationType.TABLES 当前主键的值单独保存到一个数据库的表中 * GenerationType.SEQUENCE 利用底层数据库提供的序列生成标识符 * GenerationType.IDENTITY 采取数据库的自增策略 * GenerationType.AUTO 根据不同数据库自动选择合适的id生成方案,这里使用mysql,为递增型 */ @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; @Column(name="title",nullable=false) private String title; @Column(name="content",nullable=false) private String content; @Column(name="begintime",nullable=false) private Date begintime; @Column(name="username",nullable=false) private String username; public News() { super(); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Date getBegintime() { return begintime; } public void setBegintime(Date begintime) { this.begintime = begintime; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
想知道hibernate注解怎么使用的,可以参考我上一篇的博客
http://www.cnblogs.com/qq1272850043/p/5960365.html
2.添加完注解之后,到applicationContext.xml文件中把查找对应映射文件的property删了
<!-- 把这个删了 --> <property name="mappingResources"> <list> <value>news/entity/News.hbm.xml</value> </list> </property>
3.然后在applicationContext.xml中加上这个
<!-- 扫描实体类包,解析实体类的注解 --> <property name="packagesToScan"> <list> <!-- 这里value值添实体类所在的包 --> <value>news.entity</value> </list> </property>
以上是关于关于hibernate注解方式的实体类映射的主要内容,如果未能解决你的问题,请参考以下文章
《Java从入门到放弃》入门篇:使用注解的方式配置hibernate映射关系
《Java从入门到放弃》入门篇:使用注解的方式配置hibernate映射关系