Try ORM for HBase with DataNucleus HBase datastore
suppose you have read the last blog entry or you have already setup the env for hbase
1. download required jars datanucleus-core-2.0.0.m1.jar and datanucleus-hbase-1.0.1.jar
      hadoop-0.19.1-core.jar
      hbase-0.19.3.jar
      jdo2-api-2.3-eb.jar
      commons-logging-1.0.4.jar
      commons-cli-1.2.jar
      
     datanucleus.properties
     javax.jdo.option.ConnectionURL=hbase
     javax.jdo.option.ConnectionUserName=
     javax.jdo.option.ConnectionPassword= 
2. create a data model
      
package net.blogjava.gembin.hbase.model;
import java.util.Date;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Entry {
    @Persistent(primaryKey = "true", valueStrategy = IdGeneratorStrategy.UUIDHEX)
    private String id;
    @Persistent
    private String title;
    @Persistent
    private String content;
    @Persistent
    private String description;
    @Persistent
    private Date postDate;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public Date getPostDate() {
        return postDate;
    }
    public void setPostDate(Date postDate) {
        this.postDate = postDate;
    }
    public String toString() {
        return new StringBuilder()
        .append("{id=")
        .append(id + "\n")
        .append("title=")
        .append(title + "\n")
        .append("content=")
        .append(content + "\n")
        .append("postDate=")
        .append(postDate + "\n")
        .append("description=")
        .append(description + "\n}")
        .toString();
    }
}
3. create persistence service
package net.blogjava.gembin.hbase.service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import javax.jdo.Extent;
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import javax.jdo.Query;
import javax.jdo.Transaction;
import net.blogjava.gembin.hbase.model.Entry;
public class EntryPersistenceService {
    private static final String DATANUCLEUS_PROPERTIES = "datanucleus.properties";
    static PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(DATANUCLEUS_PROPERTIES);
    private PersistenceManager persistenceManager;
    public EntryPersistenceService() {
        persistenceManager = pmf.getPersistenceManager();
    }
    /**
     * 
     * @param entry
     */
    public void saveEntry(Entry entry) {
        Transaction tx = persistenceManager.currentTransaction();
        try {
            tx.begin();
            persistenceManager.makePersistent(entry);
            tx.commit();
        } finally {
            if (tx.isActive()) {
                tx.rollback();
            }
        }
    }
    
    /**
     * 
     * @param entry
     */
    public void removeEntry(Entry entry){
        Transaction tx = persistenceManager.currentTransaction();
        try {
            tx.begin();
            persistenceManager.deletePersistent(entry);
            tx.commit();
        } finally {
            if (tx.isActive()) {
                tx.rollback();
            }
        }
    
    }
    /**
     * 
     * @param id
     * @return
     */
    public Entry getEntry(String id){
        Transaction tx = persistenceManager.currentTransaction();
        Entry e=null;
        try {
            tx.begin();
            e= persistenceManager.getObjectById(Entry.class,id);
            tx.commit();
        } finally {
            if (tx.isActive()) {
                tx.rollback();
            }
        }
        return e;
    }
    /**
     * 
     * @return
     */
    public Collection<Entry> getEntries() {
        Collection<Entry>entries = new ArrayList<Entry>();
        Transaction tx = persistenceManager.currentTransaction();
        try {
            tx.begin();
            Extent<Entry>extent = persistenceManager.getExtent(Entry.class);
            Query q = persistenceManager.newQuery(extent);
            Collection<Entry> c = (Collection<Entry>) q.execute();
            if (c == null)
                return null;
            Iterator<Entry> iter = c.iterator();
            while (iter.hasNext()) {
                Entry p = iter.next();
                entries.add(p);
            }
            tx.commit();
        } finally {
            if (tx.isActive()) {
                tx.rollback();
            }
        }
        return entries;
    }
    /**
     * 
     */
    public void close() {
        if (pmf != null && !pmf.isClosed())
            pmf.close();
        if (persistenceManager != null && !persistenceManager.isClosed())
            persistenceManager.close();
    }
    
}
4. create test client
persist a Entry
        EntryPersistenceService mp=new EntryPersistenceService();
        Entry entry=new Entry();
        entry.setTitle("first entry");
        entry.setPostDate(new Date());
        entry.setDescription("it's first entry!!");
        entry.setContent("It's first content of this entry");
        mp.saveEntry(entry); 
retrieve entries
        EntryPersistenceService mp=new EntryPersistenceService();
        Collection<Entry> entries=mp.getEntries();
        Iterator<Entry>it=entries.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
output:
{id=4aea47a52328c7a0012328c7a0380000
title=first entry
content=It's first content of this entry
postDate=Mon Aug 17 22:34:14 CST 2009
description=it's first entry!!
}
 enjoy it!!!
how to setup hbase env: http://www.blogjava.net/gembin/archive/2009/08/16/291290.html