使用Docker建構Spring Boot的docker image。
網頁
2020/11/29
2020/11/28
2020/11/25
Spring Data JPA 未呼叫Repository.save()但資料卻更新
最近碰到Spring Data JPA的地雷,明明沒有呼叫CrudRepository.save()
但資料卻更新。
Spring Data JPA org.springframework.orm.jpa.JpaSystemException: identifier of an instance of Entity was altered from x to y錯誤
Spring Data JPA的org.springframework.orm.jpa.JpaSystemException: identifier of an instance of Entity was altered from x to y
或
Hibernate的org.hibernate.HibernateException: identifier of an instance of Entity was altered from x to y
錯誤原因如下。
Java Windows javac 編譯出現unmappable character for encoding MS950錯誤
在Windows 7的命令提示字元工具(cmd)用javac
指令編譯在IDE(Eclipse, IntelliJ IDEA)編輯的java檔時出現unmappable character for encoding MS950
錯誤訊息編譯失敗。
2020/11/24
Spring org.springframework.mail.MailSendException: Failed messages: javax.mail.internet.AddressException: Empty address in string ``''
今天使用Spring JavaMailSender
發送email通知信時出現錯誤;
org.springframework.mail.MailSendException: Failed messages: javax.mail.internet.AddressException: Empty address in string ``''
。
Java 編譯器產生合成class檔的情況 complier create synthetic class $1.class files
Java 1.5及1.6編譯器在下面情況時會額外產生synthetic class檔,也就是類別名稱後接金錢符號(dolor symbol)的class檔(<Class$1.class>
)。
2020/11/22
2020/11/21
2020/11/17
2020/11/15
2020/11/14
Spring Boot @Trancsational 捕捉例外不會觸發回滾 try-catch exception won't trigger rollback
之前撰寫@Transactional 方法間呼叫的回滾範圍時,弄錯了try catch捕捉例外時@Trancsational
的rollback效果。
2020/11/11
2020/11/10
2020/11/9
2020/11/8
2020/11/6
2020/11/5
2020/11/4
Spring Data JPA @OneToMany LazyInitializationException could not initialize proxy - no Session
Spring Data JPA撈取一對多(One To Many)物件時,發生錯誤org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.abc.demo.entity.Department.employeeList, could not initialize proxy - no Session
。
Spring @Transactional 方法間呼叫的回滾範圍 methods call rollback boundaries
Spring @Transactional
交易管理(事務管理)的幾種設定回滾範圍。
JPA JPQL簡介
JPQL(Java Persistence Query Language)是EJB-QL(Enterprise JavaBeans query language)的擴展,是類似SQL用來查詢JPA實體(entity)的物件導向持久化查詢語法。與SQL不同的是JPQL操作的對象為JPA的entity物件,而非資料庫的資料表,也就是對SQL及底層資料庫的抽象,所以JPQL是可攜的(portable),不會因為底層資料庫或資料表的異動而修改語法。