¥¸¥§¥Í¥ê¥Ã¥¯¡¦¥×¥í¥°¥é¥ß¥ó¥° ¤È JPA
Java5¤«¤é¡Ö¥¸¥§¥Í¥ê¥Ã¥¯¡¦¥×¥í¥°¥é¥ß¥ó¥°¡×¤¬Æ³Æþ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¤¤ï¤æ¤ë¥Æ¥ó¥×¥ì¡¼¥È¥¯¥é¥¹¤Ç¤¹¡£
´Êñ¤Ë½ñ¤¯¤È¤³¤ó¤Ê´¶¤¸¤Ç¤¹¤«¥Í¡©
public class GenericsImpl<T> {
private Class<T> type;
public Generics(Class<T> type){
this.type = type;
}
public T getXXXX() {
return (T) ¥¯¥é¥¹T¤òÊÖ¤¹½èÍý;
}
}
<»ÈÍÑÎã1>
public class TestMain {
public static void main(String args[]){
GenericsImpl<String> obj = new GenericsImpl<String>
String str = obj.getXXXX();
}
}
<»ÈÍÑÎã2>
public class TestMain {
public static void main(String args[]){
GenericsImpl<Long> obj = new GenericsImpl
Long lng = obj.getXXXX();
}
}
¤³¤ì¤¬¤É¤¦JPA¤È´Ø·¸¤¹¤ë¤«¤È¤¤¤¦¤È¡£¡£¡£
IBM¤Îµ»ö¡ÖDAO¤ò·«¤êÊÖ¤¹¤Ê¡×¤ä¡ÖSeasar2 kuina-dao¡×¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤³¤Ç¤Ï¡¢´Êñ¤ËÀâÌÀ¤¹¤ë¤È¡ÖÈÆÍÑŪ(Generic)¤Ç·¿°ÂÁ´¤ÊDAO¤Î¼ÂÁõ¡×¤¬²Äǽ¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
»ä¤Ï¡ÖGAO¡×¡ÊGeneric Access Object:ÈÆÍÑŪ¤Ê¥¢¥¯¥»¥¹¥ª¥Ö¥¸¥§¥¯¥È¡Ë¤È¤¤¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢°ìÈÌŪ¤«¤É¤¦¤«¤Ï¡©¡©¡©¡©
¶ñÂÎŪ¤Ë¤Ï°Ê²¼¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤ò¹Ô¤¦¤³¤È¤Ç¤¹¡£
/**
* GenericDao¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
*/
package dao.generic;
import java.io.Serializable;
import java.util.List;
import javax.persistence.LockModeType;
/**
* ¥¸¥§¥Í¥ê¥Ã¥¯¤ò»ÈÍѤ·¤¿CRUDÁàºî¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
* @author forplus
*
*/
public interface GenericDao<T, PK extends Serializable> {
/**
* CreateÁàºî
* @param newInstance¡¡±Ê³²½ÂоÝPOJO
* @return ±Ê³²½POJO
*/
T create(T newInstance);
/**
* ReadÁàºî
* @param id¡¡¥¡¼¾ðÊó
* @return ±Ê³²½POJO
*/
T read(PK id);
/**
* ReadÁàºî(ÃÙ±ä¥í¡¼¥Ç¥£¥ó¥°)
* @param id¡¡¥¡¼¾ðÊó
* @return ±Ê³²½POJO¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤¹
*/
T getReference(PK id);
/**
* ReadÁàºî(¥í¥Ã¥¯¤¢¤ê)
* @param id¡¡¥¡¼¾ðÊó
* @param lockModeType¡¡¥í¥Ã¥¯¥¿¥¤¥×
* @return ±Ê³²½POJO
*/
T read(PK id, LockModeType lockModeType);
/**
* ReadÁàºî(ÃÙ±ä¥í¡¼¥Ç¥£¥ó¥°,¡¡¥í¥Ã¥¯¤¢¤ê)
* @param id¡¡¥¡¼¾ðÊó
* @param lockModeType¡¡¥í¥Ã¥¯¥¿¥¤¥×
* @return ±Ê³²½POJO¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤¹
*/
T getReference(PK id, LockModeType lockModeType);
/**
* UpdateÁàºî
* @param transientObject¡¡¹¹¿·ÂоÝPOJO
*/
void update(T transientObject);
/**
* DeleteÁàºî
* @param persistentObject¡¡ºï½üÂоÝPOJO
*/
void delete(T persistentObject);
/**
* Á´¤Æ¤ÎPOJO¤ò¼èÆÀ¤¹¤ë
* @return ±Ê³²½POJO¤Î¥ê¥¹¥È
*/
List<T> findAll();
/**
* »ØÄêÈϰϤǼèÆÀ¤¹¤ë
* @param firstResult ¼èÆÀ°ÌÃÖ
* @param maxResults ¼èÆÀºÇÂç¿ô
* @return¡¡±Ê³²½POJO¤Î¥ê¥¹¥È
*/
List<T> findRange(int firstResult, int maxResults);
/**
* ±Ê³²½POJO¤Î¥í¥Ã¥¯
* @param persistentObject¡¡±Ê³²½POJO
* @param lockModeType
*/
void lock(T persistentObject, LockModeType lockModeType);
/**
* ¥¨¥ó¥Æ¥£¥Æ¥£¤¬±Ê³¥³¥ó¥Æ¥¥¹¥È¤Ë´ÉÍý¤µ¤ì¤Æ¤¤¤ë¤«È½Äꤹ¤ë¡¥
* @param persistentObject ȽÄêÂоÝPOJO
* @return ȽÄê·ë²Ì
*/
boolean contains(T persistentObject);
/**
* ±Ê³²½POJO¤ÎºÆ¼èÆÀ
* @param persistentObject¡¡±Ê³²½POJO
*/
void refresh(T persistentObject);
}
¤³¤ì¤Ï¡¢¤´»²¹Í¤Þ¤Ç¤Ë¤Ç¤¹¡£
TrackBacks
TrackBack URL : http://project.iifp.biz/modules/xmaoh0/archives/2009/08/04/77/trackback/
¤³¤ÎÅê¹Æ¤Ë¤Ï¡¢¤Þ¤À¥³¥á¥ó¥È¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó
¥³¥á¥ó¥È
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-2-22 1:19 ¹¹¿·Æü»þ: 2012-2-22 1:19 |
|
There's a terrific amount of knweolgde in this article!
|
|
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-2-23 18:52 ¹¹¿·Æü»þ: 2012-2-23 18:52 |
|
ZhbUEr <a href="http://ossvbpylxsbj.com/">ossvbpylxsbj</a>
|
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-2-27 13:17 ¹¹¿·Æü»þ: 2012-2-27 13:17 |
|
<a href="http://www.accuratelifeinsurance.com/">affordable life insurance</a> 5759 <a href="http://www.bestinsurcoverage.com/">no exam life insurance</a> lzwvp
|
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-3-7 3:23 ¹¹¿·Æü»þ: 2012-3-7 3:23 |
|
<a href="http://www.getaffordableinsur.com/">affordable auto insurance</a> 930 <a href="http://www.findyourmedication.com/">nexium medicine generic</a> >
( |
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-3-12 14:31 ¹¹¿·Æü»þ: 2012-3-12 14:31 |
|
<a href="http://www.bestcarinsurers.net/">car insurance quotes online</a> kik <a href="http://www.onlineremedynow.com/">pain pill ultram</a> hbmk
|
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-3-22 3:23 ¹¹¿·Æü»þ: 2012-3-22 3:23 |
|
<a href="http://www.allinsursite.com/">cheap california auto insurance</a> =-OO <a href="http://www.insurforall.com/">life insurance</a> paxzgi
|
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-4-24 17:40 ¹¹¿·Æü»þ: 2012-4-24 17:40 |
|
|
|
|
|
| Åê¹Æ¼Ô | ¥¹¥ì¥Ã¥É |
|---|---|
| ¥²¥¹¥È | Åê¹ÆÆü»þ: 2012-4-24 17:41 ¹¹¿·Æü»þ: 2012-4-24 17:41 |
|
|
|
|
|
(