30 Ocak 2012 Pazartesi

Hibernate native sql clob ve blob select yapma


Session session = getSessionFactory().getCurrentSession();
SQLQuery query = session.createSQLQuery("select * from table");
query.addScalar("MRICH_RICHTEXT1", Hibernate.CLOB);
List<Object> s = query.list();
Clob c = (Clob) s.get(0);
Date d2 = new Date();
try {
System.out.println("DAOOOOOO2331134String value of Clob -  " + c.getSubString(1,(int)c.length()));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Blob ta bu şekilde yapılabilir.

26 Ocak 2012 Perşembe

hex to string, string to hex


 public String convertHexToString(String hex){
 
   StringBuilder sb = new StringBuilder();
   StringBuilder temp = new StringBuilder();
 
   //49204c6f7665204a617661 split into two characters 49, 20, 4c...
   for( int i=0; i<hex.length()-1; i+=2 ){
 
       //grab the hex in pairs
       String output = hex.substring(i, (i + 2));
       //convert hex to decimal
       int decimal = Integer.parseInt(output, 16);
       //convert the decimal to character
       sb.append((char)decimal);
 
       temp.append(decimal);
   }
   System.out.println("Decimal : " + temp.toString());
 
   return sb.toString();
  }


  public String convertStringToHex(String str){
 
   char[] chars = str.toCharArray();
 
   StringBuffer hex = new StringBuffer();
   for(int i = 0; i < chars.length; i++){
     hex.append(Integer.toHexString((int)chars[i]));
   }
 
   return hex.toString();
  }

Hibernate blob native sql

sql = insert into rich (richtext1) values ('3A1B3C1F31D31C3A1A3B13B')

richtext1 blob bir alandır. Blob olarak kaydedebilmek için datanın hexadecimal olması gerekir. Yukarıdaki gibi bir sql i

SQLQuery query = session.createSQLQuery(sql);
query.executeUpdate();

şeklinde çalıştırarak database e kayıt yapabilirsiniz. Ama önce data hexadecimal a dönüşmüş olmalı.

17 Ocak 2012 Salı

hibernate gwt kullanımı

Hibernate ve gwt yi kullanmak hiçbir yardım olmadan imkansızdır. Ancak dozer gibi tool larla yardımcı geçiş nesneleri üreterek sağlanabilir. Bir diğer yol ise hibernate pojolarında oluşmuş olan annotations ları gwt projenize dahil olan yerlerde, annotations ların bulunduğu aynı package düzeninde tanımlanlanması gerekir. id,entity,table vb. şeylerde çalışıyor ve şu anda da kullanıyorum.

9 Ocak 2012 Pazartesi

database deki bir tablonun bütün column larını alma.

select column_name from cols where Table_name='tablename'

Bu sql ile belirli bir tablonun column larını ve tiplerini öğrenebilirsiniz. column_name,data_types gibi

Glassfish i debug modda başlatmak start glassfish with debug mode

Eğer başlatacağımız domain ismi domain1 ise

start -domain --debug=true domain1 komutuyla default olarak 9009 debug portu ile server ımız başlamış olur.

7 Ocak 2012 Cumartesi

foreign key tanımlamaları



Foreign Key dört ilişki tipine ve iki role sahiptir.
İlişki Tipleri;
CASCADE: Üst tablodaki veri silinip yada güncellendiğinde, alt tabloda olan bu ilişkiyi sağlayan verilerin de güncellenip veya silinmesini sağlar.
SET NULL: Üst tablodaki veri silinip yada güncellendiğinde, alt tabloda ilişikli verilerin foreign key kolonu olarak belirlenen kolon değerine NULL değeri atar.
RESTRICT : Verileri bire bir bağlar ve alt tablolarda hareket görmüş bir kaydın silinmesini ve foreign key colonundaki verisinin değiştirilmesini engeller.
NO ACTION : RESTRICT ile aynı işi yapar, standart sql tümcesi olduğu için MySQL dede bulunmaktadır.
Foreign Key olarak tanımlamak istediğiniz colon bir index olmalıdır.
Roller;
Update Role :  Üst tabloda  veya alt tabloda veri güncellendiğinde.
Delete Role : Üst tablodan veri silindiğinde.


http://www.mikailoral.com/ dan alıntıdır.