Entity 不要使用 primitive type
否則當 DB 中資料為 null ,在進行 mapping 時會出現
Null value was assigned to a property of primitive type setter ...
將 Entity 中的型別都使用 Java 型別即可。
Entity 不要使用 primitive type
否則當 DB 中資料為 null ,在進行 mapping 時會出現
Null value was assigned to a property of primitive type setter ...
將 Entity 中的型別都使用 Java 型別即可。
本文將簡介如何使用Hibernate Tools For Eclipse and Ant Plugins
透過Reverse Engineering來產生
O/R mapping class, mapping files or annotated EJB3 entity beans
首先搜尋keyword Hibernate tools
至Hibernate 官網下載頁下載,本文下載版本為3.2.4GA
一般要使用log4j寫log,都直接在一個system util class中
public static Category logger = null;
static {
logger = Logger.getLogger("A_project");
}
然後在各project src裡,寫個log4j.properties來做些細部設定
只有一個project時,使用上並沒有什麼問題
但當有多個projects時,問題就來了
本文要討論的是如何在weblogic上deploy shared lib
以及application的版號控制和引用lib
關於欲共用的lib(ex: log4j, framework...)
以往是直接將其上傳至domain下的lib資料夾
不過此方式除了管理不易外,在deploy application時還會造成一些奇怪的問題
如log4j無法印出訊息,更新framework時,ap無法正確載入...
透過以下方式進行deploy將可解決上述問題
與原廠連線時會先利用以下方式偵測connection是否暢通
URL url = new URL("https://xxx");
HttpURLConnection http_conn = (HttpURLConnection) url.openConnection();
http_conn.setConnectTimeout(timeout.intValue());
http_conn.connect();
but project裡的lib 放入 wlfullclient.jar後
default SSL license file似乎被改變
最近真的是被EJB搞得快昏倒
經常因為很多莫名的問題,造成進度走走停停
像是,明明上次才deploy成功,結果這次突然又不行
或是,明明在local測試成功,結果deploy到linux上的j2ee server,就又出問題
像是這次
假設玲從skype01呼叫我local的project是Ok的
之前他也成功呼叫過dustin local project
但是,他她改呼叫linux上的weblogic cluster
卻又出現呼叫錯誤
J2EE server: Weblogic
發生時機:Web project 呼叫 EJB 取回 訂單資訊物件OrderStatusVO時
EJB 去 DB查詢出資料,直接將entity裡的日期變數set給vo
但是web project 取到OrderStatusVO時
日期欄位卻是null
如果web project lib 用的是
Server_weblogic\modules\org.apache.openjpa_0.9.7.jar
則不會有exception
project在local weblogic運作正常
deploy到linux上的weblogic cluster上後,則出現奇怪錯誤
server: weblogic cluster
datasource: 使用一XA type multi datasource 載入兩個data sources
project:多個project,包含nas and sem
web project呼叫nas時,出現
Failed to load class org.apache.openjpa.persistence.ArgumentException
JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this pa
rticipation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or Em
ulateTwoPhaseCommit for the Data Source = NAS_DEVRAC_DS
Weblogic Server中分別建立了兩個XA type以及兩個Non-XA type的data sources
再分別建立兩個Multi data sources : NAS_DEVRAC_DS and rac_ds
NAS_DEVRAC_DS加入上述兩個Non-XA type data sources
rac_ds加入上述另兩個XA type data sources
J2EE Server:Weblogic
Persistent framework: Kodo
mapping設定產生方式: MyEclipse Enterprise WorkbenchVersion: 5.5.1 GA
EJB3 Reverse Engineering annotation
=====================================================
問題一:新增一對多關聯的子項資料時,ManyToOne的物件必須要是persistent object,不能new 一個父object 然後set PK,否則會出現錯誤
昨天凌晨不曉得從幾點開始
手機就一直發出伊伊歪歪的簡訊聲
睡夢間勉強睜眼看了一下
瞧瞧是不是美眉半夜睡不著,傳簡訊來聊天
....
啥?
黑暗中,隱約看到AlertType....Problem...
系統好像有問題?
這時我秉持著認真負責的精神
準備馬上起身處理
但短暫性昏厥的舊疾在此時突然發作
頭殼一陣暈眩
咻~~~~~身體不聽使喚的倒回被窩.....
噢...我也是千百個不願意阿....
一早到公司,交易似乎依然掛點,無法至原廠開訂單
於是一早就忙著跟洋人開始debug
最近在oc4j上採用EJB3開發程式
在傳遞entity物件時
老是出現以下錯誤
2007/11/26 下午 12:37:33 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
警告: Exception returned by remote server: {0}
com.evermind.server.rmi.RMIConnectionException: Disconnected: com.pchome.nas.persistence.entity.NasLog; local class incompatible: stream classdesc serialVersionUID = -5326236212174873117, local class serialVersionUID = 5777183428887744502
at com.evermind.server.rmi.RmiCallQueue.notifyQueuedThreads(RmiCallQueue.java:70)
這幾天在deploy EJB3 project到oc4j時,遇到了奇怪的問題
deploy時都正常,並無錯誤訊息
但client在呼叫時,卻又無法成功呼叫,產生以下error
Client端得到的error
2007/11/19 下午 06:11:19 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
警告: Exception returned by remote server: {0}
javax.ejb.EJBException: java.lang.ArrayIndexOutOfBoundsException: 10221; nested exception is:
java.lang.ArrayIndexOutOfBoundsException: 10221; nested exception is: oracle.oc4j.rmi.OracleRemoteException: java.lang.ArrayIndexOutOfBoundsException: 10221; nested exception is:
java.lang.ArrayIndexOutOfBoundsException: 10221
oracle.oc4j.rmi.OracleRemoteException: java.lang.ArrayIndexOutOfBoundsException: 10221
at com.evermind.server.ejb.EJBUtils.getUserException(EJBUtils.java:346)
今天在local使用ant時,出現了奇怪的錯誤
C:\>ant
Unknown argument: -cp
ant [options] [target [target2 [target3] ...]]
我根本迷有輸入-cp阿,怪怪...
Google了一下,找到了些solutions
==============================
Solution 1:
ant failure (1): Unknown argument: -cp
ant [options] [target [target2 [target3] ...]]
This is indicative of this conflict.
To work around this problem, you'll need to comment out the "ANT_HOME=/usr/share/ant" line in /etc/ant.conf
see http://www.activegrid.com/products/eng/docs/faq.html
最近jeff在做購買頁左邊的選單連結
遇到了一點小問題
在IE中,要使用getElementsByName取得物件集合一定要是
form底下的input物件才可正常取得
如果是 div or span,IE會無法取得,FF則正常
除非,name 以及 id 這兩個屬性同時都有,並且值相同
以下是範例
●發生時機
Server to Server HTTP Post request
Client Control接收到 Server 回傳的資料後
將值set進attribute送到jsp alert
browser 會發生錯誤
●錯誤
有時會產生
無法判定字串常數的結尾
錯誤: unterminated string literal
●解決
Client Control先將接到的資料trim()後再set進attribute
alert即可正常
騎蟲傳給我看的
裡面有很多關於軟體開發不錯的文章
中英文都有ㄟ
裡面還有一篇 軟體人員面試教戰守則 耶
趕快研讀一下
約耳談軟體(Joel on Software)
In some cases
當client尚未發出http request給
com.opensymphony.webwork.dispatcher.ServletDispatcher之前
webwork似乎尚未initial
因此操作ServletActionContext裡的方法經常有null之類的錯誤
例如我們會採用listener在web ap server start時
將property載入並set進application
再寫個SECSystemUtil class 提供static方法來存取application中的property
static {
logger = Logger.getLogger("sec");
context = ServletActionContext.getServletContext();
login_prop = (Properties) context.getAttribute("login_pram");
system_prop = (Properties) context.getAttribute("system_pram");
}
但假如在webwork尚未initial前,用servlet or jsp去call SECSystemUtil
則ServletActionContext.getServletContext()會產生錯誤
所以要在call SECSystemUtil 前先set一些東東 (see sec project RateQuery)
public class RateQuery extends HttpServlet{
public void init(ServletConfig config){
ServletActionContext.setServletContext(config.getServletContext());
....
}
}
或是在jsp中(see myskype top.inc)
com.opensymphony.webwork.ServletActionContext.setRequest(request);
更換了resin,結果jstl無法正常顯示
因為web container改變
導致無法正確載入web.xml相關設定
前端jstl 會無法顯示,taglib tag也出錯
之前web.xml裡的寫法
...
webwork
/WEB-INF/lib/webwork-nostatic-2.2.2.jar
...
這次resin升級,應該換成了支援Servlet2.4 以及 JSP2.0以上版本的container
web.xml中的設定要跟著更改