Here's the model object, with Hibernate annotations so you can generate the mappings an schema:
package
model;
import
javax.persistence.*;
import
java.io.Serializable;
import
java.util.Date;
import
java.util.Calendar;
import
java.util.GregorianCalendar;
/**
* Created by IntelliJ IDEA.
* User: Michael
* Date: Sep 13, 2006
* Time: 5:14:17 PM
* To change this template use File | Settings | File Templates.
*/
@SuppressWarnings({
"JavaDoc"
}
)
@Entity
@Table(name = "students"
)
public
class
Student implements
Serializable
{
private
Long id;
private
String name;
private
Date birthday;
private
Student()
{
this
(null, ""
, new
Date());
}
public
Student(String name, Date birthday)
{
this
(null, name, birthday);
}
public
Student(Long id, String name, Date birthday)
{
this.id = id;
this.name = name;
this.birthday = new
Date(birthday.getTime());
}
@Id
@Column(name = "student_id"
)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "students_student_id_seq"
)
@SequenceGenerator(name = "students_student_id_seq"
, sequenceName = "students_student_id_seq"
)
public
Long getId()
{
return
id;
}
private
void
setId(Long id)
{
this.id = id;
}
@Column(name = "full_name"
, unique = false, nullable = false, length = 32)
public
String getName()
{
return
name;
}
private
void
setName(String name)
{
this.name = name;
}
@Column(name = "birthday"
, unique = false, nullable = false
)
public
Date getBirthday()
{
return
birthday;
}
private
void
setBirthday(Date birthday)
{
this.birthday = birthday;
}
public
int
getAge()
{
int
age = 0;
Calendar calendar = GregorianCalendar.getInstance();
Date today = new
Date();
calendar.setTime(today);
int
currentYear = calendar.get(Calendar.YEAR);
calendar.setTime(birthday);
int
birthYear = calendar.get(Calendar.YEAR);
age = currentYear - birthYear;
return
age;
}
public
boolean
equals(Object o)
{
if
(this
== o)
{
return
true
;
}
if
(o == null
|| getClass() != o.getClass())
{
return
false
;
}
Student student = (Student) o;
if
(id != null
? !id.equals(student.id) : student.id != null
)
{
return
false
;
}
return
true
;
}
public
int
hashCode()
{
return
(id != null
? id.hashCode() : 0);
}
public
String toString()
{
return
"Student{"
+
"id="
+ id +
", name='"
+ name + '\''
+
", birthday="
+ birthday +
'}'
;
}
}
Here's the DAO interface:
package
persistence;
public
interface
StudentDao
{
public
Student find(Long id);
public
List<Student> findAll();
public
List<Student> find(String name);
public
void
saveOrUpdate(Student s);
public
void
delete(Long id);
public
void
delete(Student s);
}
分享到:
相关推荐
Java编程例子是初学者入门和进阶的重要资源,它涵盖了各种基本概念、语法以及常见的算法应用。这个压缩包文件提供了一系列的Java编程示例,旨在帮助学习者更好地理解和掌握这门语言。 首先,让我们深入了解一下Java...
接下来,Sun Certified JAVA Developer (SCJD)更进阶,主要针对有经验的Java开发者。这个认证涉及实际项目开发,要求考生设计并实现一个完整的Java应用解决方案,然后回答与该方案相关的问题。SCJD侧重于软件设计...
Java的sun.audio包是Java标准库的一个组成部分,主要用于处理音频数据和播放音频文件。这个包在Java早期版本中被广泛使用,尽管在后续版本中,Java Sound API成为了更推荐的音频处理工具,但sun.audio包仍然保留,为...
JAVA运行库是SUN公司(后被甲骨文公司Oracle收购)为支持基于Java技术的应用程序而开发的重要组件。这个运行库,也被称为Java Runtime Environment (JRE),是执行Java应用程序所必需的基础平台,它包含了Java虚拟机...
### Sun公司最新的Java培训教程知识点总结 #### 一、课程目标与内容概览 ##### 目标概述 - **提供面向对象程序设计的基础知识与技能**:针对Java应用程序与Java小应用程序(Applets)的设计。 - **Java编程语言句法...
这个压缩包包含了 Java 8 的完整源码,其中包括了通常不对外公开的 Sun 包源码,这对于深入理解 Java 内部机制、优化代码以及进行底层调试具有极大的价值。以下是一些基于这个源码包的关键知识点的详细解释: 1. **...
"sun"包在早期的Java版本中包含了Java核心库的实现,包括一些敏感的系统功能和内部API,这些API通常是不推荐公开使用的,因为它们可能会随着版本的更新而改变。 在Java 7中,"sun"包的源码提供了以下关键领域的见解...
SCJP Sun Certified Programmer for Java Study Guide中文版
《太阳公司Sun的Java实例手册》是一份专为Java开发者准备的重要参考资料,它详细地涵盖了Sun Microsystems(现已被Oracle收购)在Java编程领域的实践经验和技术精髓。这份手册旨在帮助程序员更好地理解和应用Java...
Java编程语言是由Sun Microsystems公司(后被甲骨文公司收购)开发的一种广泛应用于服务器端、桌面应用、移动应用等领域的高级编程语言。本培训资料旨在深入解析Java的核心概念和技术,帮助学习者掌握这一强大工具。...
Java认证是Sun Microsystems(后被Oracle公司收购)推出的一项针对Java程序员的专业认证,旨在验证个人在Java编程领域的技能和知识。这个"SCJP_Guide.pdf"文件很可能包含了备考Sun公司的Java Certified Programmer...
在Sun Solaris上Java默认是不生成OOM的JavaCore及Dump文件,本资源详细介绍了,如何在生产环境的运行时获取内存信息进行分析,定位问题。
Java的sun.audio.jar是Java平台早期提供的一种音频处理支持的库文件,主要用于处理音频播放和音频数据的操作。这个jar文件包含在Java的标准类库中,主要用于兼容早期的Java应用程序,尤其是那些需要简单音频功能的...
【标题】"SUN JAVA经典认证11本书"所涵盖的知识点主要集中在Java编程和Sun Microsystems(现已被Oracle收购)的认证考试上。这是一套针对Java开发人员的专业学习资源,帮助他们准备并通过Sun的Java认证考试,提升...
源码包含“sun”这一关键信息,意味着我们将讨论Java 8中与“sun”包相关的内容。"sun"包在Java中是一个内部使用的包,包含了Java平台的核心实现,通常不建议开发者直接使用。然而,了解这个包可以帮助我们深入理解...
Java API,全称为Java应用程序接口,是Java编程语言的核心组成部分,由Sun Microsystems(后被Oracle收购)官方发布。这个“JAVA_完完全全的中文版Java API_Sun公司官方出版”压缩包文件提供了完整的Java API的中文...
Sun认证Java程序员考试,全称为SCJP(Sun Certified Java Programmer),是Oracle公司(原Sun Microsystems)推出的针对Java编程技能的一项专业认证。这个考试主要面向希望验证自己Java编程基础的开发者,旨在评估...
Java教程是学习编程语言的重要资源,尤其是来自Sun公司的教程,该公司是Java的原始创造者,因此其教程具有极高的权威性和专业性。本教程聚焦于Java编程语言的基础和进阶概念,适合初学者以及希望深化Java技能的...
### Sun Java培训教程知识点概览 #### 一、课程概述 - **主要目标**:本教程旨在为读者提供Java应用程序及Java Applets面向对象程序设计所需的知识与技能,重点涵盖Java编程语言语法、面向对象概念及其在Java环境...