Extended Hibernate Annotation @creationTimestamp, @UpDateTimEStamp รองรับประเภทเวลาใหม่ใน Java8
รุ่นไฮเบอร์เนต: 4.3.5.Final
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.hibernate.annotation;
นำเข้า org.hibernate.HibernateException;
นำเข้า org.hibernate.tuple.annotationValueGeneration;
นำเข้า org.hibernate.tuple.valueGenerator;
นำเข้า java.lang.annotation.annotation;
นำเข้า java.sql.time;
นำเข้า java.sql.timestamp;
นำเข้า java.time.localdate;
นำเข้า java.time.localdatetime;
นำเข้า java.time.localtime;
นำเข้า Java.util.Calendar;
นำเข้า java.util.date;
-
* สร้างขึ้นด้วยแนวคิด Intellij
* ผู้ใช้: Zhonggang
* วันที่: 14-4-16
* เวลา: 11:40 น.
* <p/>
* สนับสนุนแพ็คเกจเวลาใหม่สำหรับ Java 8
-
* @see java.time.localdatetime
* @see java.time.localdate
* @see java.time.localtime
-
บทคัดย่อระดับสาธารณะ AbstractTimeGeneration <a ขยายคำอธิบายประกอบ> ใช้คำอธิบายประกอบการจัดตั้ง ValueGeneration <a> {
ValueGenerator ที่ได้รับการป้องกัน <?> เครื่องกำเนิดไฟฟ้า;
@Override
โมฆะสาธารณะเริ่มต้น (คำอธิบายประกอบ, คลาส <?> PropertyType) {
if (localDatetime.class.isassignable from (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> localDateTime.now ();
} อื่นถ้า (localDate.class.isassignableFrom (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> localdate.now ();
} อื่นถ้า (localtime.class.isassignablefrom (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> localtime.now ();
} อื่นถ้า (java.sql.date.class.isassignableFrom (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> ใหม่ java.sql.date (วันที่ใหม่ (). getTime ());
} อื่นถ้า (time.class.isassignablefrom (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> เวลาใหม่ (วันที่ใหม่ (). getTime ());
} อื่นถ้า (timestamp.class.isassignable from (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> การประทับเวลาใหม่ (วันที่ใหม่ (). getTime ());
} อื่นถ้า (date.class.isassignableFrom (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> วันที่ใหม่ ();
} อื่นถ้า (Calendar.class.isassignableFrom (PropertyType)) {
generator = (เซสชัน, เจ้าของ) -> {
ปฏิทินปฏิทิน = ปฏิทิน GetInstance ();
Calendar.Settime (วันที่ใหม่ ());
กลับปฏิทิน;
-
} อื่น {
โยน HibernateException ใหม่ ("ประเภทคุณสมบัติที่ไม่ได้รับการสนับสนุนสำหรับคำอธิบายประกอบเครื่องกำเนิดไฟฟ้า" + คำอธิบายประกอบ. getClass (). getSimplename ());
-
-
@Override
Public ValueGenerator <?> getValueGenerator () {
เครื่องกำเนิดไฟฟ้ากลับ;
-
@Override
Public Boolean ReferenceColumnInsql () {
กลับเท็จ;
-
@Override
สตริงสาธารณะ getDatabaseGenerateReferencedColumNValue () {
คืนค่า null;
-
-