myEclipse要怎么调用miniui?

2个月前 (01-05 17:45)阅读2回复0
lrj
lrj
  • 管理员
  • 注册排名2
  • 经验值133335
  • 级别管理员
  • 主题26667
  • 回复0
楼主

  1。2。1。 第一个class

我们的第一个耐久化类是一个带有一些属性(property)的简单JavaBean类:

package events;

import java。util。Date;

public class Event {

private Long id;

private String title;

private Date date;

public Event() {}

public Long getId() {

return id;

private void setId(Long id) {

this。

  id = id;

public Date getDate() {

return date;

public void setDate(Date date) {

this。

  date = date;

public String getTitle() {

return title;

public void setTitle(String title) {

this。

  title = title;

你能够看到那个类对属性的存取办法(getter and setter method)利用了原则JavaBean定名约定,同时把类属性(field)的拜候级别设成私有的(private)。那是选举的设想,但并非必需的。

  Hibernate也能够间接拜候那些field,而利用拜候办法(accessor method)的益处是供给了重构时的强健性(robustness)。为了通过反射机造(Reflection)来实例化那个类的对象,我们需要供给一个无参的构造器(no-argument constructor)。

对一特定的event, id 属性持有独一的标识符(identifier)的值。假设我们期看利用Hibernate供给的所有特征,那么所有的耐久化实体(persistent entity)类(那里也包罗一些次要依靠类)都需要一个如许的标识符属性。

  而事实上,大大都利用法式(特殊是web利用法式)都需要通过标识符来区别对象,所以你应该考虑利用标识符属性而不是把它当做一种限造。然而,我们凡是不会操做对象的标识(identity),因而它的setter办法的拜候级别应该声明private。如许当对象被保留的时候,只要Hibernate能够为它分配标识符值。

  你可看到Hibernate能够间接拜候public,private和protected的拜候办法和field。所以抉择哪种体例完全取决于你,你能够使你的抉择与你的利用法式设想相吻合。

所有的耐久化类(persistent classes)都要求有无参的构造器,因为Hibernate必需利用Java反射机造来为你创建对象。

  构造器(constructor)的拜候级别能够是private,然而当生成运行时代办署理(runtime proxy)的时候则要求利用至少是package 级此外拜候掌握,如许在没有字节码指令(bytecode instrumentation)的情状下,从耐久化类里获取数据会更有效率。

把那个Java源代码文件放到开发目次下的src目次里,重视包位置要准确。 如今那个目次看起来应该像如许:

+lib

+src

+events

Event。java

下一步,我们把那个耐久化类的信息告诉Hibernate。

1。2。2。 映射文件

Hibernate需要晓得如何往加载(load)和存储(store)耐久化类的对象。那恰是Hibernate映射文件发扬感化的处所。映射文件告诉Hibernate它,应该拜候数据库(database)里面的哪个表(table)及应该利用内外面的哪些字段(column)。

一个映射文件的根本构造看起来像如许:

重视Hibernate的DTD长短常复杂的。你的编纂器或者IDE里利用它来主动完成那些用来映射的XML元素(element)和属性(attribute)。你也能够在文本编纂器里翻开DTD-那是最简单的体例来概览所有的元素和attribute,并查看它们的缺省值以及正文。

  重视Hibernate不会从web加载DTD文件,但它会起首在利用法式的classpath中查找。DTD文件已包罗在hibernate3。jar里,同时也在Hibernate发布包的src/目次下。

为缩短代码长度,在以后的例子里我们会省略DTD的声明。

  当然,在现实的利用法式中,DTD声明是必需的。

在hibernate-mapping标签(tag)之间, 含有一个class元素。所有的耐久化实体类(再次声明,或许接下来会有依靠类,就是那些次要的实体)都需要一个如许的映射,来把类对象映射到SQL数据库里的表。

到目前为行,我们告诉了Hibernate如何把Events类的对象耐久化到数据库的EVENTS内外,以及如何从EVENTS表加载到Events类的对象。每个实例对应着数据库表中的一行。如今我们将陆续讨论有关独一标识符属性到数据库表的映射。

  别的,因为我们不关心如何处置那个标识符,我们就设置装备摆设由Hibernate的标识符生成战略来产生代办署理主键字段。

id元素是标识符属性的声明,name="id" 声了然Java属性的名字 - Hibernate会利用getId()和setId()来拜候它。

   column属性则告诉Hibernate, 我们利用EVENTS表的哪个字段做为主键。嵌套的generator元素指定了标识符生成战略,在那里我们指定native,它根据已设置装备摆设的数据库(方言)主动抉择更佳的标识符生成战略。Hibernate撑持由数据库生成,全局独一性(globally unique)和利用法式指定(或者你本身为任何已有战略所写的扩展)那些战略来生成标识符。

0
回帖

myEclipse要怎么调用miniui? 期待您的回复!

取消