Method visibility and@Cacheable/@CachePut/@CacheEvict

When using proxies, you should apply the @Cache*annotations only to methods with public visibility.

If you do annotate protected, private or package-visible methods with these annotations, no error is raised, but the annotated method does not exhibit the configured caching settings. Consider the use of AspectJ (see below) if you need to annotate non-public methods as it changes the bytecode itself.

 

Ref : https://docs.spring.io/spring/docs/3.2.0.RC1/reference/html/cache.html

 


文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()

service需先進行delect 再select新資料

service:

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  public List<CreditCardInfoResponse> getCreditCardList(Long fridayUid) {
      //移除資料
      prodDao.deleteByProdId(prodId);
      prodDao.flush();
      
      //撈取資料
      List<prod> prodList = prodDao.findByProdId(ProdId);
  }

Dao

  public interface prodDao{
  
        public List<prod> findByProdId(Long prodId);
        
        @Modifying
        @Transactional
        @Query("delete from Prod where prodId = :prodId")
        public int deleteByIdFridayUidAndIsDefault(Long prodId);
  }

==>

如果表定Query,實際對資料庫操作

1.  delete from PROD  where PRODID=?

2.  select PRODID, PRODNAME from PROD  where PRODID=?

文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()

ajax的return要特別注意寫法,用變數接回再傳

$(function () {
    var console.log(testGetResult());   // 抓不到預期的boolean , show undefined
        var console.log(testGetResult2());  // show true or false
});

function testGetResult() {
        $.ajax({
        url: '/getData.do',
        type: 'get',
                async: false,
                success: function (res) {
            return true;
        },
        error: function (res) {
            return false;
        }
    });
}

function testGetResult2() {
        var rtn;
    $.ajax({
        url: '/getData.do',
        type: 'get',
                async: false,
                success: function (res) {
            rtn = true;
        },
        error: function (res) {
            rtn = false;
        }
    });
        return rtn;
}

文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()

java Data object 用 JSONObject.fromObject 或 JSONArray.fromObject做轉換的時候,
會轉成一個[ object object]的模式,如下:

"itemDateFrom":{"date":18,"hours":0,"seconds":0,"month":8,"nanos":0,"timezoneOffset":-480,"year":119,"minutes":0,"time":1568736000000,"day":3}

因為和預期 ( YYYY/MM/DD ) 不同,可以加入自定義轉換方式

  1. 先自定一個轉換定義
public class DateValue implements JsonValueProcessor{

        private String format ="yyyy/MM/dd";  
        
        public DateValue(){
                super();
        }
        
        public DateValue(String datePattern){
                super();  
        this.format = datePattern;
        }
        
        @Override
        public Object processArrayValue(Object value, JsonConfig config) {
                return process(value);
        }

        @Override
    public Object processObjectValue(String key, Object value, JsonConfig config) {   
        return process(value);   
    }
        
    private Object process(Object value){
        if(value instanceof Date){
                SimpleDateFormat sdf = new SimpleDateFormat(format);    
            return sdf.format(value); 
        }   
        return value == null ? "" : value.toString();   
    }
}
  1. 進行轉換
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class , new DateValue());
//jsonConfig.registerJsonValueProcessor(Date.class , new DateValue("yyyy-MM-dd"));
JSONArray.fromObject(rtnProductUsableVoList,jsonConfig);

 


文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()

二月堂(にがつどう),位於東大寺的境內,在大佛殿( 大仏殿(金堂))東邊一些的方向。
我每次到訪奈良一定會來這走走。
一個原因是這邊並沒有時間限制、可以隨意的穿插在任何行程當中,
另一個原因則是二月堂所處的地勢較高,可以一覽奈良市,不論是白天或是黃昏,景色都很推薦。

(以下照片是多次參訪拍的整合)

P1100140.jpg

 

文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()

立山黑部、高山、松本地區周遊券 (阿爾卑斯、高山、松本地區周遊券 アルペン・高山・松本エリア周遊きっぷ)

這張周遊券官網介紹的蠻詳細的,使用方式和可使用的路線也相對簡單,我再把認為比較要注意的重點整理出來
除了 可使用天數有些短,不然對於要 環繞式北陸 玩法的遊客會是蠻實用的一張周遊券,畢竟光單向黑部立山的交通( 電鐵富山 > 信濃大町) 就要10850円了

立山黑部、高山、松本地區周遊券

上圖為MCO和兌換到的PASS

 

 購買資格: 

文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()

旧茶屋亭 原身建築是明治末期時的海產商店鋪和住宅合一建築。1988年被指定為「 伝統的建造物 」,同年,青函隧道開通紀念博覽會(青函博)的期間,當時屋主以「旧茶屋亭」為名,開設期間限定的茶屋。接下來於1992年重新改造裝潢與設計新的MENU成為現在的 「茶房 旧茶屋亭」。

個人對於歷史感的建築特別有興趣,2016年第一次造訪函館的時候就有把 旧茶屋亭 排入行程希望一探究竟,但是因為時間關係,連經過的機會都沒有。
2018年獨自一人的旅程因為時間很優渥,所以決定再次排入行程。

茶房 旧茶屋亭

 

我本來是排第一天來這,走到門口才發現貼了臨時公休多天的字條,只能過兩天再來,還好公休時間和我離開日本的時間錯開了,不然應該會成為我對函館的一個遺憾吧。

文章標籤

咪卡恰比 發表在 痞客邦 留言(0) 人氣()