diff --git a/src/main/java/com/example/cosmos_serversb/entities/Group.java b/src/main/java/com/example/cosmos_serversb/entities/Group.java index 8d0bdfb..b1d1dcb 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/Group.java +++ b/src/main/java/com/example/cosmos_serversb/entities/Group.java @@ -4,7 +4,7 @@ import java.util.ArrayList; public class Group { - private Long gId; + private String gId; private String uri, name; private ArrayList members; private ArrayList requests; @@ -14,16 +14,16 @@ } public Group(String gId, String uri, String name, String uId){ - this.gId = Long.parseLong(gId); - this.uri = uri; - this.name = name; + setgId(gId); + setUri(uri); + setName(name); } - public Long getgId() { + public String getgId() { return gId; } - private void setgId(Long gId) { + private void setgId(String gId) { this.gId = gId; } diff --git a/src/main/java/com/example/cosmos_serversb/entities/Request.java b/src/main/java/com/example/cosmos_serversb/entities/Request.java index 786f167..db9799c 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/Request.java +++ b/src/main/java/com/example/cosmos_serversb/entities/Request.java @@ -2,7 +2,7 @@ package com.example.cosmos_serversb.entities; public class Request { - private Long rId; + private String rId; private String uri, date, IssuerUid, product, deadline; private int location;// YahooローカルサーチAPIの業種コード private boolean done = false; @@ -12,22 +12,21 @@ } public Request(String rId, String uri, String date, String IssuerUid, String product, String deadline, int location){ - //setrId(rId); - this.rId = Long.parseLong(rId); + setrId(rId); setUri(uri); setDate(date); setIssuerUid(IssuerUid); setProduct(product); setDeadline(deadline); setLocation(location); - //this.done = false; + this.done = false; } - public Long getrId() { + public String getrId() { return rId; } - private void setrId(Long gId) { + private void setrId(String rId) { this.rId = rId; } diff --git a/src/main/resources/Group.hbm.xml b/src/main/resources/Group.hbm.xml index 8e0333c..aac9a9b 100644 --- a/src/main/resources/Group.hbm.xml +++ b/src/main/resources/Group.hbm.xml @@ -14,7 +14,6 @@ - diff --git a/src/main/resources/Request.hbm.xml b/src/main/resources/Request.hbm.xml index 4adea89..b08773b 100644 --- a/src/main/resources/Request.hbm.xml +++ b/src/main/resources/Request.hbm.xml @@ -14,7 +14,6 @@ - diff --git a/src/test/java/hibernateTest/entities/Event.java b/src/test/java/hibernateTest/entities/Event.java index e2dd0cc..2a6df8a 100644 --- a/src/test/java/hibernateTest/entities/Event.java +++ b/src/test/java/hibernateTest/entities/Event.java @@ -26,7 +26,7 @@ import java.util.Date; public class Event { - private Long id;//Longじゃないと,デフォルトでは動かなさそう。 + private Long id; private String title; private Date date; diff --git a/src/test/java/hibernateTest/entities/Group.java b/src/test/java/hibernateTest/entities/Group.java index e1c4111..6eacf5b 100644 --- a/src/test/java/hibernateTest/entities/Group.java +++ b/src/test/java/hibernateTest/entities/Group.java @@ -4,7 +4,7 @@ import java.util.ArrayList; public class Group { - private Long gId; + private String gId; private String uri, name; //private ArrayList members; private ArrayList requests; @@ -14,16 +14,16 @@ } public Group(String gId, String uri, String name, String uId){ - this.gId = Long.parseLong(gId); - this.uri = uri; - this.name = name; + setgId(gId); + setUri(uri); + setName(name); } - public Long getgId() { + public String getgId(){ return gId; } - private void setgId(Long gId) { + private void setgId(String gId){ this.gId = gId; } diff --git a/src/test/java/hibernateTest/entities/Request.java b/src/test/java/hibernateTest/entities/Request.java index 27b16a8..1c84ea4 100644 --- a/src/test/java/hibernateTest/entities/Request.java +++ b/src/test/java/hibernateTest/entities/Request.java @@ -2,7 +2,7 @@ package hibernateTest.entities; public class Request { - private Long rId; + private String rId; private String uri, date, IssuerUid, product, deadline; private int location;// YahooローカルサーチAPIの業種コード private boolean done = false; @@ -12,8 +12,7 @@ } public Request(String rId, String uri, String date, String IssuerUid, String product, String deadline, int location){ - //setrId(rId); - this.rId = Long.parseLong(rId); + setrId(rId); setUri(uri); setDate(date); setIssuerUid(IssuerUid); @@ -23,15 +22,15 @@ this.done = false; } - - private void setrId(Long rId){ + private void setrId(String rId){ this.rId = rId; } - public Long getrId(){ + public String getrId(){ return rId; } + private void setUri(String uri){ this.uri = uri; } diff --git a/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java b/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java index c9c97c3..e7ac3f7 100644 --- a/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java +++ b/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java @@ -26,9 +26,12 @@ import java.util.Date; import java.util.List; +import com.sun.org.apache.xerces.internal.util.SynchronizedSymbolTable; import hibernateTest.entities.Event; import hibernateTest.entities.Group; import hibernateTest.entities.Request; +import org.hibernate.Criteria; +import org.hibernate.criterion.Restrictions; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.boot.MetadataSources; @@ -66,27 +69,57 @@ sessionFactory.close(); } } catch (Exception e) { - + System.out.println("Exception!"); } } public void testBasicUsage() { - // create a couple of events... + /*データの保存(データベースに投入)*/ Session session = sessionFactory.openSession(); session.beginTransaction(); session.save( new Event( "Our very first event!", new Date() ) ); session.save( new Event( "A follow up event", new Date() ) ); - session.save( new Group("111", "http://test1", "famiry", "011" ) ); + session.save( new Group("111", "http://test1", "family", "011" ) ); session.save( new Group("222", "http://test2", "friend", "022" ) ); - session.save( new Request("111", "http://test01", "1999.01.01", "011", "ice", "1999.04.10",011)); - session.save( new Request("222", "http://test01", "1999.01.01", "022", "milk", "1999.04.10",011)); + Group newGroup = new Group("333", "http://test3", "school", "033" ); + session.save(newGroup); //インスタンスを引数に渡すこともできます + session.save( new Request("111", "http://test01", "1999.01.01", "011", "cookie", "1999.04.10",011)); + session.save( new Request("222", "http://test02", "1999.02.02", "033", "milk", "1999.04.10",011)); + session.save( new Request("333", "http://test03", "1999.03.03", "033", "ice", "1999.04.10",011)); session.getTransaction().commit(); session.close(); - // now lets pull events from the database and list them + /*データ(レコード)の取得し削除。*/ + //注意: この例ではデータを取得する際、ID(主キー)を指定しているため、複数のデータが返されることを想定していません。 session = sessionFactory.openSession(); session.beginTransaction(); + //load()メソッドを用いて取得する方法。 + Request deleteRequest = (Request) session.load(Request.class, "222"); + //データの削除 + if(deleteRequest != null){ + session.delete(deleteRequest); + } + session.getTransaction().commit(); + session.close(); + /*データを取得し更新*/ + session = sessionFactory.openSession(); + session.beginTransaction(); + //createCriteriaを用いて取得する方法。ただし非推奨。 + //http://a4dosanddos.hatenablog.com/entry/2015/03/21/135421 + Criteria criteria = session.createCriteria(Request.class).add(Restrictions.eq("rId", "333")); + Request editRequest = (Request) criteria.uniqueResult(); + //データの更新 + if(editRequest != null) { + editRequest.setProduct("Chocolate ice !!"); + session.update(editRequest); + } + session.getTransaction().commit(); + session.close(); + + /*全件取得と出力*/ + session = sessionFactory.openSession(); + session.beginTransaction(); List result = session.createQuery( "from Event" ).list(); for ( Event event : (List) result ) { System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); @@ -97,9 +130,8 @@ } List requestResult = session.createQuery( "from Request" ).list(); for ( Request request : (List) requestResult ) { - System.out.println( "Request (" + request.getrId() + ") : " + request.getUri() + ": " + request.getDate() + ": " + request.isDone()); + System.out.println( "Request (" + request.getrId() + ") : " + request.getUri() + ": " + request.getProduct()); } - session.getTransaction().commit(); session.close(); } diff --git a/src/test/resources/Event.hbm.xml b/src/test/resources/Event.hbm.xml index bceae94..047e592 100644 --- a/src/test/resources/Event.hbm.xml +++ b/src/test/resources/Event.hbm.xml @@ -14,7 +14,7 @@ - + diff --git a/src/test/resources/Group.hbm.xml b/src/test/resources/Group.hbm.xml index 4576193..7a4a298 100644 --- a/src/test/resources/Group.hbm.xml +++ b/src/test/resources/Group.hbm.xml @@ -14,7 +14,6 @@ - diff --git a/src/test/resources/Request.hbm.xml b/src/test/resources/Request.hbm.xml index 4184b20..d41866b 100644 --- a/src/test/resources/Request.hbm.xml +++ b/src/test/resources/Request.hbm.xml @@ -14,7 +14,6 @@ -