Hibernate
以程式初始化
版本:5+
Entity 的哏
資料庫的欄位沒辦法直接 mapping 到 Java class,例如資料庫儲存的是「Y/N」實際上希望對應到 boolean。 目前發現兩招,第一招是掛 @Basic
,例如
第二招是掛 @Converter
,還沒試過。 reference
如果希望新增資料的時候,某個欄位直接使用 DB 預設值(而不是 entity field 當下的值), 在 @Column
裡頭加上 insertable = false
:
HQL 的哏
Session.createQuery() 裡頭的字串邏輯:
不是用 DB 的 table / column name,而是用 Java 的 class / field name
parameter name 用
:
開頭,實際參數不需要:
Sub Query ###
在 IN
/ NOT IN
使用 sub query 的時候,如果這樣寫
foo.id
會比對的是 wtf.id
。如果要作 NOT IN 的是 wtf.fooId
,要這樣寫
Last updated