@Entity ,@Table(..) ,@Column是什么意思

monet123 2008-08-19 04:28:18
写在一个类文件里:
@Entity
@Table(name = "table1", catalog = "mydb", uniqueConstraints = {})
public class table1 extends BaseObject
{
.....
@Column(name = "uid", unique = true, nullable = false, insertable = true, updatable = true)
public long getId() {
return this.id;
}
....
}

这里为什么使用@这些,谁能帮我解释一下每句话的意思,是与数据库有关联吗?为什么使用这些?
...全文
38663 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yufuster 2008-11-27
  • 打赏
  • 举报
回复
相当于XML中这样定义
<class name="Entity " table="table1">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="uid" column="uid"/>
</class>
数据持久化定义
mengweilil 2008-08-21
  • 打赏
  • 举报
回复
找本JPA的书看看
milooxu 2008-08-21
  • 打赏
  • 举报
回复
注解,EJB,jpa都能玩这个的。明明jpa用着方便为什么那么多公司还是用hibernate呢?
monet123 2008-08-20
  • 打赏
  • 举报
回复
@Table(name = "table1", catalog = "mydb", uniqueConstraints = {})
中的uniqueConstraints 是什么意思?
youjianbo_han_87 2008-08-20
  • 打赏
  • 举报
回复
这个是JDK1.5以后支持的元数据注解,使得程序可以不要再写一个类似于配置文件一样的东西,告诉hibernate工具怎么将其映射成数据库表的Model
monet123 2008-08-20
  • 打赏
  • 举报
回复
@Table(name = "table1", catalog = "mydb", uniqueConstraints = {})
中的uniqueConstraints 是什么意思?
zhj92lxs 2008-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 norwolfli 的回复:]
@ 是jdk5支持的注解(Annotation).
[/Quote]
frog8659 2008-08-20
  • 打赏
  • 举报
回复
EJB3.0支持的标注(annotation),可以简化配置文件
老紫竹 2008-08-20
  • 打赏
  • 举报
回复
这些是JPA的注释
@Entity
@Table(name="MyTable")
这2个声明一个类似可持久化的。
@Column是什么意思
这个是一个列的声明,写上列的名字
如果类名与表名,列名与字段名相同,@Table 和@Column(name=.. 可以不写

详情看这里 http://www.java2000.net/p65
ldxfsh 2008-08-20
  • 打赏
  • 举报
回复
配置这些后,项目启动时会自动生成数据库表的,不过xml文件中也要有相关配置
南南北北 2008-08-19
  • 打赏
  • 举报
回复
@ 是jdk5支持的注解(Annotation).
chenkangwan 2008-08-19
  • 打赏
  • 举报
回复
@是一种依赖注入,可以为我们写entitybean时,省去写xml的配置,减少错误的发生。

@Entity表明该类是ejb的实体bean

如三楼所说的@Table!


@Column(name = "uid", unique = true, nullable = false, insertable = true, updatable = true)
这个属性对应表中uid,unique = true, nullable = false表示uid唯一和不为空,其实,上网看下ejb3的资料,
应该有很多介绍的。。。
zidasine 2008-08-19
  • 打赏
  • 举报
回复
这个应该是JPA吧
看下相关的资料
huayiluo 2008-08-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 suncf1985 的回复:]
去sql区发个贴!
[/Quote]
这个不关sql的事情。

--------------------

这种是代替了xml配置的一种写法。ejb3.0,hibernate 3.0 都已经把xml里面的配置,改在代码文件里了。如果你在类头加上
@Entity 实体
@Table(name = "table1", catalog = "mydb", uniqueConstraints = {}) 这个是你指定是数据库哪张表。



如果说错,还请指教!
suncf1985 2008-08-19
  • 打赏
  • 举报
回复
去sql区发个贴!

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧