Hibernate
原理与配置快速入门
http://www.javafan.net
Java 爱好者
Message 类有三个属性:Message 的 id 、消息正文、以及一个指向下一条消息的指针。其中
id 属性让我们的应用程序能够唯一的识别这条消息,通常它等同于数据库中的主键,如果多个
Message 类的实例对象拥有相同的 id,那它们代表数据库某个表的同一个记录。在这里 我们选择了
长整型作为我们的
id
值,但 这 不是必需的。
Hibernate
允许我们使用任意的类型来作为对象的
id
值,
在后面我们会对此作详细描述。
你可能注意到 Message 类的代码类似于 JavaBean 的代码风格,并 且 它有一个没有参数的构造
函数,在我们以后的代码中我将继续使用这种风格来编写持久类的代码。
Hibernate 会自动管理 Message 类的实例,并通过内部机制使其持久化,但实际上 Message
对象并没有实现任何关于 Hibernate 的类或接口,因此我们也可以将它作为一个普通的 Java 类来使
用:
Message message = new Message("Hello World");
System.out.println( message.getText() );
以上这段代码正是我们所期望的结果:它打印“hello world”到屏幕上。但这并不是我们的最
终目标;实际上 Hibernate 与诸如 EJB 容器这样的环境在持久层实现的方式上有很大的不同。我们
的持久类(Message 类)可以用在与容器无关的环境中,不像 EJB 必须要有 EJB 容器才能执行。为了
能更清楚地表现这点,以下代码将我们的一个新消息保存到数据库中去:
Session session = getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
Message message = new Message("Hello World");
session.save(message);
tx.commit();
session.close();
以上这段代码调用了 Hibernate 的 Session 和 Transaction 接口(关于 getSessionFactory()方法我
们将会马上提到)。它相当于我们执行了以下 SQL 语句:
insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID)
values (1, 'Hello World', null)
评论0
最新资源