annotation java 支持版本_Annotation版本的HelloWorld

在Hibernate3.0以后,开始支持Annotation

Annotation的标准是,建立一个符合JTA标准的Annotation

下载hibernate-annotations-3.4.0.GA工具包后

项目添加:

hibernate-annotations.jar --最核心

lib/ejb3-persistence.jar --符合了JTA标准的Annotation

lib/hibernate-comments-annotations.jar --进行反射时的Annotation

@Entity表示实体类

@Id 标识主键

注意是javax.persistence.*; 下

首先创建DB表:Teacher

id  number

name  varchar2(20)

title  varchar2(20)

编写Teacher类:

d8dcd3fcbc100f33c2d0e9367bfea78a.png

//省略更多的getter/setter方法

注意,@Id写在getId()方法前,防止属性id名字与getId方法的名字不匹配。如id 和getTeacherId()方法

配置hibernate.cfg.xml文件:

8c3573876051baf07d53dc811a82e94c.png

注意这里的

最后测试:

public static void main(String[] args) {

Teacher t = new

Teacher();

t.setId(1);

t.setName("王五");

t.setTitle("中级");

Configuration

conf = new AnnotationConfiguration();

//注意这里使用的是AnnotationConfiguration

conf.configure();

SessionFactory

factory = conf.buildSessionFactory();

Session session =

factory.openSession();

session.beginTransaction();

session.save(t);

session.getTransaction().commit();

session.close();

factory.close();

}

只有new AnnotationConfiguration()不一样,其余操作都一样

用Annotation配置javaBean可省略Teacher.hbm.xml的映射文件,操作也方便,你认为呢?

最后:Hibernate-Annotation文档中的小错误:

没有加入hibernate-commen-annotations.jar包

MyEclipse 输入 @ 不给提示时:

window、references、搜content assist、在 activation for java 栏加入"@"

也可以控制delay属性,延迟修改为100则提示很快

解决问题时间:

问题类型:

java.lang.IllegalAccessError: tried to access field

org.slf4j.impl.StaticLoggerBinder.SINGLETON from class

org.slf4j.LoggerFactory

需下载slf4j.jar包

加载\slf4j-1.6.4\integration\lib 下的

slf4j-api-2.0.99.jar和slf4j-nop-1.5.6.jar

refresh,clear,run

Exception in thread "main"

org.hibernate.exception.ConstraintViolationException: Could not execute

JDBC batch update

Caused by: java.sql.BatchUpdateException: ORA-00001: unique

constraint (HT.TEACHER_PK_ID) violated

重复执行时,注意DB主键不能重复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值