圓形時鐘作法如下
網頁
2018/6/30
2018/6/28
Windwos 10 預設瀏覽器重開機後被重設回IE
微軟Windows 10 (企業版 版本1709)真的很不道德,把預設瀏覽器改成Chrome後,只要重開機又會被改回IE,真他媽的,網路上找了一圈還是無解。
2018/6/26
2018/6/25
2018/6/24
2018/6/23
CSS 屬性選擇器 Attribute Selector [attribute*=value]
CSS Attribute Selector [attribute*=value]
的意思是選取屬性值中包含指定子字串的元素。
2018/6/22
Hibernate JPA 雙向一對多/多對一設定 Bidirectional One To Many / Many To One
一個作者(Author)有多本書(Book),JPA 雙向一對多/多對一實體關聯設定如下。
2018/6/21
Lombok 使用lombok的問題
Lombok是一個IDE插件 + library的組合,主要作用是用來減少Java的冗長(verbose),尤其是POJO類的getter與setter,建構式,toString,equals,hashCode等樣板程式(boilerplate code),或幫你注入Logger的實例。透過在POJO類別加上lombok的注釋@Data
,@Getter
,@Setter
,@ToString
,@EqualsAndHashCode
等。
2018/6/20
JPA @OneToOne, @OneToMany的orphanRemoval屬性
在JPA的@OneToOne
(一對一)及@OneToMany
(一對多)有一個orphanRemoval
屬性,其作用如下。
2018/6/19
SQL Server SSMS 設定主鍵(Primary Key)欄位自動遞增(auto increment)
在SSMS物件總管(Object Explorer)右鍵點選資料表 -> 設計 -> 選擇主鍵欄位
,在下方的[資料行屬性](Column Properties)視窗的[識別規格](Identity Specification)項下的[為識別](Is Identity)改為'是'並存檔即可。
JPA Hibernate Entity映射欄位只要讀取不要新增或更新
如果映射資料表的Entity類別的某個欄位只要查詢資料庫的資料,但忽略新增或修改,則可在屬性上使用@Column(name="column_name", insertable=false, updatable=false)
。
2018/6/18
ZK MVVM zul套用BindComposer
從ZK 8開始,只要UI元件的viewModel
屬性有被設定到ViewModel類別,則org.zkoss.bind.BindComposer
會自動套用。
JPA 使用@Transient來忽略Entity屬性映射至資料表
JPA預設會將Entity類別的所有屬性與資料表的欄位做映射,如果要忽略某個屬性,則在該屬性掛上@Transient
annotation。
Java WebApp javax.imageio.IIOException: Can't read input file!
當在Java程式中使用ImageIO.read(File file)
讀取指定路徑的圖片時發生錯誤如下。
2018/6/17
ZK i18n 多語系設定
ZK i18n多語系的語言設定檔預設會抓取WEB-INF
目錄下的zk-label_lang_CNTY.properties
檔,例如使用WEB-INF/zk-label_zh_TW.properties
作為繁體中文語系的來源。
2018/6/16
2018/6/15
Hibernate JPA JPQL org.hibernate.hql.internal.ast.QuerySyntaxException: [entity_name] is not mapped
今天再用JPA JPQL查詢時,出現錯誤如下
org.hibernate.hql.internal.ast.QuerySyntaxException: [entity_name] is not mapped
2018/6/14
JPA @PersistenceUnit無法注入EntityManagerFactory
若果要使用JPA的@PersistenceUnit
注入EntityManagerFactory
的實例,則所存在的類別物件必須被"容器"(container)所管理。否則無法注入EntityManagerFactory
。
Hibernate JPA Entity 生命週期 (JPA Entity Lifecycle)
在使用Hibernate JPA之前要先了解什麼是Entity生命週期是什麼,否則會像我在進行新修刪查(CRUD)的操作時一直碰到錯誤。(我是新手)
2018/6/13
Hibernate JPA 主鍵欄位自動遞增的實體類別設定
如果資料表的主鍵欄位(primary key column)是設定為自動遞增(auto increment),則在Java應用程式中對映的實體類別設定如下。
JPA + Hibernate + MySQL persistence.xml 基本設定
JPA 2.1 + Hibernate 5.2.17 + MySQL 8.0.11 persistence.xml
的一些設定。
2018/6/12
2018/6/11
2018/6/10
ZK 多語系 i18n zk-label.properties (i3-label.properties) 中文顯示Uncode編碼問題
ZK的多語系(i18n)的支援可透過在WEB-INF
目錄下設定zk-label_lang_CNTY.properties
檔(舊版的好像是叫做i3-labels.properties),並在zul直接透過EL及隱含物件labels
來存取。(注意labels是全小寫,在Eclipse編輯器大寫"L"和小寫"l"的斜體長得很像,剛才因為這個小差異折騰了半天。)
<label value="${labels.app.login}"/>
但今天在Eclipse Properties Editor編輯好properties檔時,在zul的畫面上卻是顯示中文的Unicode。
ZK 在Controller中加入元件的事件監聽器
下面範例在ZK MVC的Controller(Composer)中加入按鈕<button>
的onclick事件監聽器,並在按下按鈕後改變<label>
原本的值。
ZK Controller
ZK 可使用MVVM或MVC架構來設計你的應用程式(指UI元件(View)與資料及邏輯處理(Model)間的關係與控制)。MVVM是使用ViewModel來處理與元件的關係,而MVC則是使用Controller(也可稱作Composer)。
ZK EL語法可使用的隱含物件(implicit object)
ZK zul中可以使用EL語法來存取變數,物件,Java Bean,及預先定義好的隱含物件(implicit object),可使用的隱含物件請見Implicit Objects (Predefined Variables)。
ZK 關閉<borderlayout>中元件的動畫效果
如果要關閉ZK <borderlayout>
中元件預設的動畫效果關閉(例如開啟收合(collapsible)的動畫效果),可以在WEB-INF/zk.xml
設定檔中加入下面設定即可。
ZK org.zkoss.zk.ui.UiException: Only one child and one caption is allowed: <Center q8BP5>
ZK <borderlayout>
中的<north>
,<west>
,<east>
,<south>
,<center>
都只能有一個子原件(除了<caption>
),否則會出現下面的錯誤:
org.zkoss.zk.ui.UiException: Only one child and one caption is allowed
例如下面的<north>
中有兩個<label>
,就會引發此錯誤。
<borderlayout>
<north>
<label>LABLE 1</label>
<label>LABLE 2</label>
</north>
...
</borderlayout>
2018/6/8
2018/6/4
Eclipse Maven build java.lang.ClassNotFoundException問題
當你在Eclipse啟動在Tomcat上運行的Maven專案時,在啟動過程中如果出現了java.lang.ClassNotFoundException: 某個library的類別名稱
,則可能是因為Tomcat找不到那個依賴的library。