Wednesday 11 February 2009

[Hibernate] many-to-many

There are 3 tables
=== Table1 ====
fooId
a

==== Table2 -====
barId
b

==== Table3 ==== (This table is joined from Table1 and Table2)
fooIdEx
barIdEx


===== a.java ===
....
private int foodId;
private String a;

private Set[b] bEnitty;
.......

===== b.java ======
......
private int barId;
private STring b;
............

===== a.hbm.xml (Mapping xml file) ======
.......





......

please refer to http://www.xylax.net/hibernate/manytomany.html

Tuesday 10 February 2009

[Hibernate] one-to-many

one-to-many [hibernate]

===== a.java ========
......
private Set[b] bSet;
.......

==== b.java ======
....
....

==== a.hbm.xml -(mapping for a entity xml file) ====



[Error] Hibernate error

- Error Message
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

This error is from that the hibernate can not find "Transactional".

Please insert
@SuppressWarnings("unchecked")
@Transactional

[Hibernate] join (one-to-many)

create sub bean
BeanA.java - same as sub table

Wednesday 4 February 2009

[Error] Eclipse Ganymede start error

When you have the problem for starting eclipse , please check eclipse.ini file
==== Error message
-VM terminated...

==== original eclipse.ini
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

==== update this eclipse.ini file
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
C:\Sun\SDK\jdk\bin\javaw.exe

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

[Error] Eclipse Ganymede start error

when you start eclipse , you might have the error with popup message box.
such as "VM terminate...."
Please check eclipse.ini file and update it

original eclipse.ini
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

==== Please update this eclipse.ini file =====
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
D:\java\jdk1.6.0\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Monday 2 February 2009

[ExtJs] Simple Tree Example (Json as JSP)

=========== test2.html =================
[html]
[head]
[link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css"]
[script type="text/javascript" src="../adapter/ext/ext-base.js"][/script]
[script type="text/javascript" src="../ext-all.js"][/script]
[script type="text/javascript" src="reorder2.js"][/script]
[title]Insert title here[/title]
[/head]
[body]
[div id="tree-div" style="overflow:auto; height:300px;width:250px;border:1px solid #c3daf9;"][/div]
[/body]
[/html]

=============== reorder2.js ====================

Ext.onReady(function(){
// shorthand
var Tree = Ext.tree;

var tree = new Tree.TreePanel({
el:'tree-div',
useArrows:true,
autoScroll:true,
animate:true,
enableDD:true,
// rootVisible: false,
containerScroll: true,
loader: new Tree.TreeLoader({
dataUrl:'json.jsp'
})
});

// set the root node
var root = new Tree.AsyncTreeNode({
text: 'Ext JS',
draggable:false,
iconCls:'conthruAr',
id:'source'
});
tree.setRootNode(root);

// render the tree
tree.render();
root.expand();
});

================ json.jsp =================
[%@page import="java.util.Enumeration"%]
[%
Enumeration ss = request.getParameterNames();
String value;
while(ss.hasMoreElements()){
String key = (String)ss.nextElement();
value = request.getParameter(key);
System.out.println(key+" : "+value+" ");
}

String getS = request.getParameter("node");

System.out.println("ss : "+getS);
if (getS.equals("source")){
%]
[{"text":"1","id":"1","cls":"folder"},{"text":"4","id":"4","leaf":true,"cls":"file"},{"text":"3","id":"3","cls":"folder"},{"text":"2","id":"2","leaf":true,"cls":"file"}]
[%
} else if(getS.equals("3")) {
%]
[{"text":"7","id":"7","leaf":true,"cls":"file"},{"text":"8","id":"8","cls":"folder"}]
[%} %]