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.

visual studio 2008 opencv kurulumu

http://ihsanduyuncu.blogspot.com/2009/06/visual-studio-2008-opencv-kurulumu.html

http://opencv.willowgarage.com/wiki/VisualC%2B%2B

yukarıdaki linkleri kullanarak opencv kurulumunu başarı ile yapabilirsiniz.

6 Ocak 2012 Cuma

gwt serialization exception

Bu çok genel bir hatadır. Bendeki senaryoda servise giden objenin içinde Object x gibi bir değişken vardı. Bu object tipindeki değişkeni serialize edemediği içinde hata fırlatıyordu. Bunu silince problem düzeldi. Denemedim ama büyük ihtimalle de bu değişkeni set ederken typecast kullanınca problem çözülebilir. Ve rpc de kullanılan nesnelere default construtor eklerseniz iyi olur. Bu da problem yaratabiliyor.

5 Ocak 2012 Perşembe

hibernate spring bean can not found.

Bu hatanın nedeni büyük ihtimalle xml de oluşturduğunuz ve programda getter ve setter larını oluşturduğunuz bean  in xml ini application-config.xml dosyasında import etmediğinizden kaynaklanıyordur. application-config.xml dosyasında bulunamayan bean i içeren xml in import edilip edilmediğini kontrol edin. Ayrıca bean in oluşturulduğu  xml deki pathlerin doğrulugundan emin olun.

Hibernate sessionFactory is not defined.

Bu hatanın birçok nedeni olabilir. Açıkça belirtildiği gibi birşey sessionFactory nin yaratılmasını engelliyor. Benim karşıma çıkan hata aynı şeyi hem web.xml de hem de application-config.xml de import etmemden kaynaklanıyordu. Çakışmadan dolayı bir şekilde sessionFactory yaratılamıyordu. xml lerinizi ve cfg dosyaları bir daha bir daha kontrol edilmelidir.