Search This Blog

Friday, February 10, 2012

Monday, February 6, 2012

drfrence between hashset set

A Set represents a generic "set of values". A TreeSet is a set where the elements are ordered, a HashSet is a set where the elements are not ordered.

A HashSet is typically a lot faster than a TreeSet.

A TreeSet is typically implemented as a red-black tree (See http://en.wikipedia.org/wiki/Red-black_tree - I've not validated the actual implementation of sun/oracle's TreeSet), whereas a HashSet uses Object.hashCode() to create an index in an array. Access time for a red-black tree is O(log(n)) whereas access time for a HashSet ranges from constant-time to the worst case (every item has the same hashCode) where you can have a linear search time O(n).

defrence between list and linked list

5 down vote accepted

hash_set is an extension that is not part of the C++ standard. Lookups should be O(1) rather than O(log n) for set, so it will be faster in most circumstances.

Another difference will be seen when you iterate through the containers. set will deliver the contents in sorted order, while hash_set will be essentially random (Thanks Lou Franco).

defrence between vector and arry

Difference between Vector and ArrayList in java?

04/06/2008

java.util.Vector came along with the first version of java development kit (JDK). java.util.ArrayList was introduced in java version1.2, as part of java collections framework. As per java API, in Java 2 platform v1.2,vector has been retrofitted to implement List and vector also became a part of java collection framework.

All the methods of Vector is synchronized. But, the methods of ArrayList is not synchronized. All the new implementations of java collection framework is not synchronized.

Vector and ArrayList both uses Array internally as data structure. They are dynamically resizable. Difference is in the way they are internally resized. By default, Vector doubles the size of its array when its size is increased. But, ArrayList increases by half of its size when its size is increased.

Therefore as per Java API the only main difference is, Vector’s methods are synchronized and ArrayList’s methods are not synchronized.

Vector or ArrayList? Which is better to use in java?

In general, executing a ‘synchronized’ method results in costlier performance than a unsynchronized method. Keeping the difference in mind, using Vector will incur a performance hit than the ArrayList. But, when there is a certain need for thread-safe operation Vector needs to be used.

Is there an alternate available in java for Vector?
ArrayList can be synchronized using the java collections framework utility class and then ArrayList itself can be used in place of Vector.

When there is no need for synchronized operation and you still look for better performance ‘Array’ can be used instead of ArrayList. But the development is tedious, since it doesn’t provide user friendly methods.

When you use Vector or ArrayList, always initialize to the largest capacity that the java program will need. Since incrementing the size is a costlier operation.

Defrent type of creation of object

tements taken from the CreateObjectDemo program creates an object and assigns it to a variable:
Point originOne = new Point(23, 94); Rectangle rectOne =     new Rectangle(originOne, 100, 200); Rectangle rectTwo =     new Rectangle(50, 100); 

The first line creates an object of the Point class, and the second and third lines each create an object of the Rectangle class.

Each of these statements has three parts (discussed in detail below):

  1. Declaration: The code set in bold are all variable declarations that associate a variable name with an object type.
  2. Instantiation: The new keyword is a Java operator that creates the object.
  3. Initialization: The new operator is followed by a call to a constructor, which initializes the new object.

Declaring a Variable to Refer to an Object

Previously, you learned that to declare a variable, you write:

type name; 

This notifies the compiler that you will use name to refer to data whose type is type. With a primitive variable, this declaration also reserves the proper amount of memory for the variable.

You can also declare a reference variable on its own line. For example:

Point originOne; 

If you declare originOne like this, its value will be undetermined until an object is actually created and assigned to it. Simply declaring a reference variable does not create an object. For that, you need to use the new operator, as described in the next section. You must assign an object to originOne before you use it in your code. Otherwise, you will get a compiler error.

A variable in this state, which currently references no object, can be illustrated as follows (the variable name, originOne, plus a reference pointing to nothing):

Main method overriding

[quote=dlorde]Why would you want to? The main method is a static entry point for running an application, it has no place in the OO hierarchy.

actually when i am reding a tutorial i got this doubt. i browse for this. i get tht u can overload the main methond. but i didnot get the correct answere for overriding main method. some body saying it is possible with example and some body saying not possible because it is static. plz check this example and clear my doubt.

class Checkmain
{

public static void main(String args[])
{
System.out.println("helloCheckmain string main ");
}
}

class Checkmain1 extends Checkmain
{
public static void main(String args[])
{
System.out.println("helloCheckmain1 string main ");
}
}

public class Main
{
public static void main(String args[])
{
String S[]=new String[10] ;
System.out.println("******string main**********");
int q=10;
main(q);
Checkmain.main(S);
Checkmain1.main(S);
}

public static void main(int a
{
String S[]=new String[10] ;
System.out.println("000000000 int main 0000000000");
Checkmain.main(S);
Checkmain1.main(S);
}
}


First clear my doubt after i will think abt use of this feature.

Main method overloading

yes. its possible .

Each method has a signature, which comprises the name of the method and the types and order of the parameters in the formal
parameter list. Several method implementations may have the same name, as long as the method signatures differ. Since overloaded methods have the same name, their parameter lists must be different.

so if your method is

public static void main(String args[]){

}

public static int main(int i){

}

both methods signature is different.

IEEE projects in Embeded Systems

IEEE projects in Matlab

IEEE project in .net

IEEE projects in java

Saturday, February 4, 2012

JAVA- Analysis on Credit Card Fraud Detection Methods\Base paper

International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
978-1-4244-9394-4/11/$26.00 ©2011 IEEE
152
Analysis on Credit Card Fraud Detection Methods
1S. Benson Edwin Raj, 2A. Annie Portia
1Assistant Professor (SG), P.G., 2Scholar
Department of CSE
Karunya University, Coimbatore
Abstract— Due to the rise and rapid growth of E-Commerce, use
of credit cards for online purchases has dramatically increased
and it caused an explosion in the credit card fraud. As credit card
becomes the most popular mode of payment for both online as
well as regular purchase, cases of fraud associated with it are also
rising. In real life, fraudulent transactions are scattered with
genuine transactions and simple pattern matching techniques are
not often sufficient to detect those frauds accurately.
Implementation of efficient fraud detection systems has thus
become imperative for all credit card issuing banks to minimize
their losses. Many modern techniques based on Artificial
Intelligence, Data mining, Fuzzy logic, Machine learning,
Sequence Alignment, Genetic Programming etc., has evolved in
detecting various credit card fraudulent transactions. A clear
understanding on all these approaches will certainly lead to an
efficient credit card fraud detection system. This paper presents a
survey of various techniques used in credit card fraud detection
mechanisms and evaluates each methodology based on certain
design criteria.
Index Terms—Electronic Commerce, Credit card fraud,
Artificial Intelligence, Artificial Neural Networks, Sequence
Alignment, Machine Learning.
I. INTRODUCTION
The Credit Card Is A Small Plastic Card Issued To Users As A
System Of Payment. It Allows Its Cardholder To Buy Goods
And Services Based On The Cardholder's Promise To Pay For
These Goods And Services. Credit Card Security Relies On
The Physical Security Of The Plastic Card As Well As The
Privacy Of The Credit Card Number. Globalization And
Increased Use Of The Internet For Online Shopping Has
Resulted In A Considerable Proliferation Of Credit Card
Transactions Throughout The World. Thus A Rapid Growth In
The Number Of Credit Card Transactions Has Led To A
Substantial Rise In Fraudulent Activities. Credit Card Fraud Is
A Wide-Ranging Term For Theft And Fraud Committed Using
A Credit Card As A Fraudulent Source Of Funds In A Given
Transaction. Credit Card Fraudsters Employ A Large Number
Of Techniques To Commit Fraud. To Combat The Credit Card
Fraud Effectively, It Is Important To First Understand The
Mechanisms Of Identifying A Credit Card Fraud. Over The
Years Credit Card Fraud Has Stabilized Much Due To
Various Credit Card Fraud Detection And Prevention
Mechanisms.
II. RELATED WORKS
Fraud detection involves monitoring the behavior of users in
order to estimate, detect, or avoid undesirable behavior. To
counter the credit card fraud effectively, it is necessary to
understand the technologies involved in detecting credit card
frauds and to identify various types of credit card frauds [20]
[21] [22] . There are multiple algorithms for credit card fraud
detection [21] [29]. They are artificial neural-network models
which are based upon artificial intelligence and machine
learning approach [5] [7] [9] [10] [16], distributed data mining
systems [17] [19], sequence alignment algorithm which is
based upon the spending profile of the cardholder [1] [6],
intelligent decision engines which is based on artificial
intelligence [23], Meta learning Agents and Fuzzy based
systems [4]. The other technologies involved in credit card
fraud detection are Web Services-Based Collaborative Scheme
for Credit Card Fraud Detection in which participant banks can
share the knowledge about fraud patterns in a heterogeneous
and distributed environment to enhance their fraud detection
capability and reduce financial loss [8] [13], Credit Card Fraud
Detection with Artificial Immune System [13] [26],
CARDWATCH: A Neural Network Based Database Mining
System for Credit Card Fraud Detection [18] which is bases
upon data mining approach [17] and neural network models,
the Bayesian Belief Networks [25] which is based upon
artificial intelligence and reasoning under uncertainty will
counter frauds in credit cards and also used in intrusion
detection [26], case-based reasoning for credit card fraud
detection [29], Adaptive Fraud Detection which is based on
Data Mining and Knowledge Discovery [27], Real-time credit
card fraud using computational intelligence [28], and Credit
card fraud detection using self-organizing maps [30]. Most of
the credit card fraud detection systems mentioned above are
based on artificial intelligence, Meta learning and pattern
matching.
This paper compares and analyzes some of the good
techniques that have been used in detecting credit card fraud. It
focuses on credit card fraud detection methods like Fusion of
Dempster Shafer and Bayesian learning [2][5][12][15][25],
Hidden Markov Model [3], Artificial neural networks and
Bayesian Learning approach [5][25],BLAST and SSAHA
Hybridization[1][6][11][14][24], Fuzzy Darwinian System[4].
Section II gives an overview about those techniques. Section
III presents a comparative survey of those techniques and
section IV summarizes the fraud detection techniques.
A. A fusion approach using Dempster–Shafer theory and
Bayesian learning
FDS of Dempster–Shafer theory and Bayesian learning
Dempster–Shafer theory and Bayesian learning is a hybrid
approach for credit card fraud detection [2][5][12][15] which
combines evidences from current as well as past behavior.
Every cardholder has a certain type of shopping behavior,
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
153
which establishes an activity profile for them. This approach
proposes a fraud detection system using information fusion
and Bayesian learning of so as to counter credit card fraud.
Figure 1. Block diagram of the proposed fraud detection system
The FDS system consists of four components,
namely, rule-based filter, Dempster–Shafer adder, transaction
history database and Bayesian learner. In the rule-based
component, the suspicion level of each incoming transaction
based on the extent of its deviation from good pattern is
determined. Dempster–Shafer’s theory is used to combine
multiple such evidences and an initial belief is computed. Then
the initial belief values are combined to obtain an overall belief
by applying Dempster–Shafer theory. The transaction is
classified as suspicious or suspicious depending on this initial
belief. Once a transaction is found to be suspicious, belief is
further strengthened or weakened according to its similarity
with fraudulent or genuine transaction history using Bayesian
learning.
It has high accuracy and high processing Speed. It improves
detection rate and reduces false alarms and also it is applicable
in E-Commerce. But it is highly expensive and its processing
Speed is low.
B. BLAST-SSAHA Hybridization for Credit Card Fraud
Detection
BLAST-SSAHA in credit card fraud detection
The Hybridization of BLAST and SSAHA algorithm
[1][6][14] is refereed as BLAH-FDS algorithm. Sequence
alignment becomes an efficient technique for analyzing the
spending behavior of customers. BLAST and SSAHA are the
efficient sequent alignment algorithms used for credit card
fraud detection.
BLAH-FDS is a two-stage sequence alignment algorithm in
which a profile analyzer (PA) determines the similarity of an
incoming sequence of transactions on a given credit card with
the genuine cardholder’s past spending sequences. The unusual
transactions traced by the profile analyzer are passed to a
deviation analyzer (DA) for possible alignment with past
fraudulent behavior. The final decision about the nature of a
transaction is taken on the basis of the observations by these
two analyzers.
BLAST-SSAHA Hybridization
When a transaction is carried out, the incoming sequence is
merged into two sequences time-amount sequence TA. The TA
is aligned with the sequences related to the credit card in CPD.
This alignment process is done using BLAST.
Figure 2. Architecture of BLAST and SSAHA Fraud Detection System
SSAHA algorithm [9] is used to improve the speed of the
alignment process. If TA contains genuine transaction, then it
would align well with the sequences in CPD. If there is any
fraudulent transactions in TP, mismatches can occur in the
alignment process. This mismatch produces a deviated
sequence D which is aligned with FHD. A high similarity
between deviated sequence D and FHD confirms the presence
of fraudulent transactions. PA evaluates a Profile score (PS)
according to the similarity between TA and CPD. DA
evaluates a deviation score (DS) according to the similarity
between D and FHD. The FDM finally raises an alarm if the
total score (PS - DS) is below the alarm threshold (AT).
The performance of BLAHFDS is good and it results in high
accuracy. At the same time, the processing speed is fast
enough to enable on-line detection of credit card fraud. It
Counter frauds in telecommunication and banking fraud
detection. But it does not detect cloning of credit cards
C. Credit Card Fraud Detection using Hidden Markov Model
Hidden Markov Model
A Hidden Markov Model is a double embedded stochastic
process with used to model much more complicated stochastic
processes as compared to a traditional Markov model. If an
incoming credit card transaction is not accepted by the trained
Hidden Markov Model with sufficiently high probability, it is
considered to be fraudulent transactions.
Use Of HMM For Credit Card Fraud Detection
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
154
Figure 3. Process Flow of the Proposed FDS
A Hidden Markov Model [3] is initially trained with the
normal behavior of a cardholder. Each incoming transaction is
submitted to the FDS for verification. FDS receives the card
details and the value of purchase to verify whether the
transaction is genuine or not. If the FDS confirms the
transaction to be malicious, it raises an alarm and the issuing
bank declines the transaction. The concerned cardholder may
then be contacted and alerted about the possibility that the card
is compromised.
HMM never check the original user as it maintains a log. The
log which is maintained will also be a proof for the bank for
the transaction made. HMM reduces the tedious work of an
employee in bank since it maintains a log. HMM produces
high false alarm as well as high false positive.
D. Fuzzy Darwinian Detection of Credit Card Fraud
The Evolutionary-Fuzzy System
Fuzzy Darwinian Detection system [4] uses genetic
programming to evolve fuzzy logic rules capable of classifying
credit card transactions into “suspicious” and “non-suspicious”
classes. It describes the use of an evolutionary-fuzzy system
capable of classifying suspicious and non-suspicious credit
card transactions.The system comprises of a Genetic
Programming (GP) search algorithm and a fuzzy expert
system.
Data is provided to the FDS system. The system first clusters
the data into three groups namely low, medium and high. The
GPThe genotypes and phenotypes of the GP System consist of
rules which match the incoming sequence with the past
sequence. Genetic Programming is used to evolve a series of
variable-length fuzzy rules which characterize the differences
between classes of data held in a database. The system is being
developed with the specific aim of insurance-fraud detection
which involves the challenging task of classifying data into the
categories: "safe" and "suspicious". When the customer’s
payment is not overdue or the number of overdue payment is
less than three months, the transaction is considered as “nonsuspicious”,
otherwise it is considered as “suspicious”. The
Fuzzy Darwinian detects suspicious and non -suspicious data
and it easily detects stolen credit card Frauds.
Figure 4. Block diagram of the Evolutionary-fuzzy system
The complete system is capable of attaining good accuracy
and intelligibility levels for real data. It has very high accuracy
and produces a low false alarm, but it is not applicable in
online transactions and it is highly expensive. The processing
speed of the system is low.
E. Credit Card Fraud Detection Using Bayesian and Neural
Networks
The credit card fraud detection using Bayesian and Neural
Networks are automatic credit card fraud detection system by
means of machine learning approach. These two machine
learning approaches are appropriate for reasoning under
uncertainty.
An artificial neural network [5][7][9][10][16] consists of an
interconnected group of artificial neurons and the commonly
used neural networks for pattern classification is the feedforward
network. It consist of three layers namely input,
hidden and output layers. The incoming sequence of
transactions passes from input layer through hidden layer to
the output layer. This is known as forward propagation. The
ANN consists of training data which is compared with the
incoming sequence of transactions. The neural network is
initially trained with the normal behavior of a cardholder. The
suspicious transactions are then propagated backwards through
the neural network and classify the suspicious and nonsuspicious
transactions. Bayesian networks are also known as
belief networks and it is a type of artificial intelligence
programming that uses a variety of methods, including
machine learning algorithms and data mining, to create layers
of data, or belief. By using supervised learning, Bayesian
networks are able to process data as needed, without
experimentation. Bayesian belief networks are very effective
for modeling situations where some information is already
known and incoming data is uncertain or partially unavailable.
This information or belief is used for pattern identification and
data classification.
A neural network learns and does not need to be
reprogrammed. Its processing speed is higher than BNN.
Neural network needs high processing time for large neural
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
155
networks. Bayesian networks are supervised algorithms and
they provide a good accuracy, but it needs training of data to
operate and requires a high processing speed.
III. COMPARISON OF VARIOUS FRAUD DETECTION SYSTEMS
PARAMETERS USED FOR COMPARISON
The Parameters used for comparison of various Fraud
Detection Systems are Accuracy, Fraud Detection Rate in
terms of True Positive and false positive, cost and training
required, Supervised Learning. The comparison performed is
shown in Table 1.
Accuracy: It represents the fraction of total number of
transactions (both genuine and fraudulent) that have been
detected correctly.
Method: It describes the methodology used to counter the
credit card fraud. The efficient methods like sequence
alignment, machine learning, neural networks are used to
detect and counter frauds in credit card transactions.
True Positive (TP): It represents the fraction of fraudulent
transactions correctly identified as fraudulent and genuine
transactions correctly identified as genuine. False Positive
(FP): It represents fraction of genuine transactions identified as
fraudulent and fraudulent transactions identified as
genuine.Training data: It consists of a set of training examples.
The fraud detection systems are initially trained with the
normal behavior of a cardholder.
Supervised Learning: It is the machine learning task of
inferring a function from supervised training data. Comparison
Results
The Comparison table was prepared in order to compare
various credit card fraud detection mechanisms. All the
techniques of credit card fraud detection described in the table
1 have its own strengths and weaknesses.
Results show that the fraud detection systems such as Fuzzy
Darwinian, Dempster and Bayesian theory have very high
accuracy in terms of TP and FP. At the same time, the
processing speed is fast enough to enable on-line detection of
credit card fraud in case of BLAH-FDS and ANN.
IV. CONCLUSION
Efficient credit card fraud detection system is an utmost
requirement for any card issuing bank. Credit card fraud
detection has drawn quite a lot of interest from the research
community and a number of techniques have been proposed to
counter credit fraud. The Fuzzy Darwinian fraud detection
systems improve the system accuracy. Since The Fraud
detection rate of Fuzzy Darwinian fraud detection systems in
terms of true positive is 100% and shows good results in
detecting fraudulent transactions. The neural network based
CARDWATCH shows good accuracy in fraud detection and
Processing Speed is also high, but it is limited to one-network
per customer. The Fraud detection rate of Hidden Markov
model is very low compare to other methods. The hybridized
algorithm named BLAH-FDS identifies and detects fraudulent
transactions using sequence alignment tool. The processing
speed of BLAST-SSAHA is fast enough to enable on-line
detection of credit card fraud. BLAH-FDS can be effectively
used to counter frauds in other domains such as
telecommunication and banking fraud detection. The ANN and
BNN are used to detect cellular phone fraud, Network
Intrusion. All the techniques of credit card fraud detection
discussed in this survey paper have its own strengths and
weaknesses. Such a survey will enable us to build a hybrid
approach for identifying fraudulent credit card transactions.
REFERENCES
[1] Amlan Kundu, Suvasini Panigrahi, Shamik Sural and Arun K.
Majumdar, “BLAST-SSAHA Hybridization for Credit Card Fraud
Detection,” IEEE Transactions On Dependable And Secure Computing,
vol. 6, Issue no. 4, pp.309-315, October-December 2009.
[2] Amlan Kundu, Suvasini Panigrahi, Shamik Sural and Arun K.
Majumdar, “Credit card fraud detection: A fusion approach using
Dempster–Shafer theory and Bayesian learning,” Special Issue on
Information Fusion in Computer Security, Vol. 10, Issue no 4, pp.354-
363, October 2009.
[3] Abhinav Srivastava, Amlan Kundu, Shamik Sural, Arun K.
Majumdar, “Credit Card Fraud Detection using Hidden Markov Model,”
IEEE Transactions On Dependable And Secure Computing, vol. 5, Issue
no. 1, pp.37-48, January-March 2008.
[4] Peter J. Bentley, Jungwon Kim, Gil-Ho Jung and Jong-Uk Choi,
“Fuzzy Darwinian Detection of Credit Card Fraud,” In the 14th Annual
Fall Symposium of the Korean Information Processing Society, 14th
October 2000.
[5] Sam Maes, Karl Tuyls, Bram Vanschoenwinkel, Bernard Manderick,
“Credit card fraud detection using Bayesian and neural networks,”
Interactive image-guided neurosurgery, pp.261-270, 1993.
[6] Amlan Kundu, S. Sural, A.K. Majumdar, “Two-Stage Credit Card
Fraud Detection Using Sequence Alignment,” Lecture Notes in
Computer Science, Springer Verlag, Proceedings of the International
Conference on Information Systems Security, Vol. 4332/2006, pp.260-
275, 2006.
[7] Simon Haykin, “Neural Networks: A Comprehensive Foundation,”
2nd Edition, pp.842, 1999.
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
156
[8] A. Chiu, C. Tsai, “A Web Services-Based Collaborative Scheme for
Credit Card Fraud Detection,” Proceedings of the IEEE International
Conference on e-Technology, e-Commerce and e-Service, pp.177-181,
2004.
[9] R. Brause, T. Langsdorf, M. Hepp, “Neural Data Mining for Credit
Card
Fraud Detection, “International Conference on Tools with Artificial
Intelligence, pp.103-106, 1999.
[10] Ghosh, D.L. Reilly, “Credit Card Fraud Detection with a Neural-
Network,” Proceedings of the International Conference on System
Science, pp.621-630, 1994.
[11] Z. Ning, A.J. Cox, J.C. Mullikin, “SSAHA: A Fast Search Method for
Large DNA Databases,” Genome Research, Vol. 11, No. 10, pp.1725-
1729, 2001.
[12] Lam, Bacchus, “Learning bayesian belief networks: An approach
basedon the MDL principle,” Computational Intelligence, Vol. 10, Issue
No. 3, pp.269–293, August 1994.
[13] Manoel Fernando Alonso Gadi, Xidi Wang, Alair Pereira do Lago,
“Credit Card Fraud Detection with Artificial Immune System,” Lecture
Notes in Computer Science, Vol. 5132/2008, pp.119-131, 2008.
[14] Tom Madden, “The BLAST Sequence Analysis Tool”, 2003.
[15] M. Mehdi, S. Zair, A. Anou and M. Bensebti,” A Bayesian Networks in
Intrusion Detection Systems,” International Journal of Computational
Intelligence Research, Issue No. 1, pp.0973-1873 Vol. 3, 2007.
[16] Ray-I Chang, Liang-Bin Lai, Wen-De Su, Jen-Chieh Wang, Jen-Shiang
Kouh, “Intrusion Detection by Backpropagation Neural Networks with
Sample-Query and Attribute-Query,” Research IndiaPublications, pp.6-
10, November 26, 2006.
[17] C. Phua, V. Lee, K. Smith, R. Gayler, “A Comprehensive Survey of Data
Mining-based Fraud Detection Research,” Artificial Intelligence Review,
2005.
[18] E. Aleskerov, B. Freisleben, B. Rao, “CARDWATCH: A Neural
Network Based Database Mining System for Credit Card Fraud
Detection,” Proceedings of IEEE/IAFE Conference on Computational
Intelligence for Financial Engineering (CIFEr), pp.220-226, 1997.
[19] Philip K. Chan ,Wei Fan, Andreas L. Prodromidis, Salvatore J. Stolfo,
“Distributed Data Mining in Credit Card Fraud Detection,” IEEE
Intelligent Systems ISSN, Vol. 14 , Issue No. 6, Pages: 67 – 74,
November 1999.
[20] Barry Masuda, “Credit Card Fraud Prevention: A Successful Retail
Strategy,” crime prevention, Vol. 6, 1986.
[21] Linda Delamaire, Hussein Abdou, John Pointon, “Credit card fraud and
detection techniques: a review,” Banks and Bank Systems, pp. 57-68,
2009.
[22] Tej Paul Bhatla, Vikram Prabhu & Amit Dua “Understanding Credit
Card Frauds,” 2003.
[23] Russell, Norvig ,” Artificial Intelligence – A Modern Approach,” 2nd
Edition, 2003.
[24] S.F.Altschul, W. Gish, W. Miller, W. Myers, J. Lipman, “Basic Local
Alignment Search Tool,” Journal of Molecular Biology, Vol. 215,
pp.403-410, 1990.
[25] Ezawa.K. & Norton.S,”Constructing Bayesian Networks to Predict
Uncollectible Telecommunications Accounts,” IEEE Expert, October;
45-51, 1996.
[26] Fan, W. Miller, M.Stolfo, S.Lee & P Chan, “Using Artificial Anomalies
to Detect Unknown and Known Network Intrusions,” Proc. of ICDM01,
pp.504-507, 2001.

JAVA- Analysis on Credit Card Fraud Detection Methods\Base paper

International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
978-1-4244-9394-4/11/$26.00 ©2011 IEEE
152
Analysis on Credit Card Fraud Detection Methods
1S. Benson Edwin Raj, 2A. Annie Portia
1Assistant Professor (SG), P.G., 2Scholar
Department of CSE
Karunya University, Coimbatore
Abstract— Due to the rise and rapid growth of E-Commerce, use
of credit cards for online purchases has dramatically increased
and it caused an explosion in the credit card fraud. As credit card
becomes the most popular mode of payment for both online as
well as regular purchase, cases of fraud associated with it are also
rising. In real life, fraudulent transactions are scattered with
genuine transactions and simple pattern matching techniques are
not often sufficient to detect those frauds accurately.
Implementation of efficient fraud detection systems has thus
become imperative for all credit card issuing banks to minimize
their losses. Many modern techniques based on Artificial
Intelligence, Data mining, Fuzzy logic, Machine learning,
Sequence Alignment, Genetic Programming etc., has evolved in
detecting various credit card fraudulent transactions. A clear
understanding on all these approaches will certainly lead to an
efficient credit card fraud detection system. This paper presents a
survey of various techniques used in credit card fraud detection
mechanisms and evaluates each methodology based on certain
design criteria.
Index Terms—Electronic Commerce, Credit card fraud,
Artificial Intelligence, Artificial Neural Networks, Sequence
Alignment, Machine Learning.
I. INTRODUCTION
The Credit Card Is A Small Plastic Card Issued To Users As A
System Of Payment. It Allows Its Cardholder To Buy Goods
And Services Based On The Cardholder's Promise To Pay For
These Goods And Services. Credit Card Security Relies On
The Physical Security Of The Plastic Card As Well As The
Privacy Of The Credit Card Number. Globalization And
Increased Use Of The Internet For Online Shopping Has
Resulted In A Considerable Proliferation Of Credit Card
Transactions Throughout The World. Thus A Rapid Growth In
The Number Of Credit Card Transactions Has Led To A
Substantial Rise In Fraudulent Activities. Credit Card Fraud Is
A Wide-Ranging Term For Theft And Fraud Committed Using
A Credit Card As A Fraudulent Source Of Funds In A Given
Transaction. Credit Card Fraudsters Employ A Large Number
Of Techniques To Commit Fraud. To Combat The Credit Card
Fraud Effectively, It Is Important To First Understand The
Mechanisms Of Identifying A Credit Card Fraud. Over The
Years Credit Card Fraud Has Stabilized Much Due To
Various Credit Card Fraud Detection And Prevention
Mechanisms.
II. RELATED WORKS
Fraud detection involves monitoring the behavior of users in
order to estimate, detect, or avoid undesirable behavior. To
counter the credit card fraud effectively, it is necessary to
understand the technologies involved in detecting credit card
frauds and to identify various types of credit card frauds [20]
[21] [22] . There are multiple algorithms for credit card fraud
detection [21] [29]. They are artificial neural-network models
which are based upon artificial intelligence and machine
learning approach [5] [7] [9] [10] [16], distributed data mining
systems [17] [19], sequence alignment algorithm which is
based upon the spending profile of the cardholder [1] [6],
intelligent decision engines which is based on artificial
intelligence [23], Meta learning Agents and Fuzzy based
systems [4]. The other technologies involved in credit card
fraud detection are Web Services-Based Collaborative Scheme
for Credit Card Fraud Detection in which participant banks can
share the knowledge about fraud patterns in a heterogeneous
and distributed environment to enhance their fraud detection
capability and reduce financial loss [8] [13], Credit Card Fraud
Detection with Artificial Immune System [13] [26],
CARDWATCH: A Neural Network Based Database Mining
System for Credit Card Fraud Detection [18] which is bases
upon data mining approach [17] and neural network models,
the Bayesian Belief Networks [25] which is based upon
artificial intelligence and reasoning under uncertainty will
counter frauds in credit cards and also used in intrusion
detection [26], case-based reasoning for credit card fraud
detection [29], Adaptive Fraud Detection which is based on
Data Mining and Knowledge Discovery [27], Real-time credit
card fraud using computational intelligence [28], and Credit
card fraud detection using self-organizing maps [30]. Most of
the credit card fraud detection systems mentioned above are
based on artificial intelligence, Meta learning and pattern
matching.
This paper compares and analyzes some of the good
techniques that have been used in detecting credit card fraud. It
focuses on credit card fraud detection methods like Fusion of
Dempster Shafer and Bayesian learning [2][5][12][15][25],
Hidden Markov Model [3], Artificial neural networks and
Bayesian Learning approach [5][25],BLAST and SSAHA
Hybridization[1][6][11][14][24], Fuzzy Darwinian System[4].
Section II gives an overview about those techniques. Section
III presents a comparative survey of those techniques and
section IV summarizes the fraud detection techniques.
A. A fusion approach using Dempster–Shafer theory and
Bayesian learning
FDS of Dempster–Shafer theory and Bayesian learning
Dempster–Shafer theory and Bayesian learning is a hybrid
approach for credit card fraud detection [2][5][12][15] which
combines evidences from current as well as past behavior.
Every cardholder has a certain type of shopping behavior,
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
153
which establishes an activity profile for them. This approach
proposes a fraud detection system using information fusion
and Bayesian learning of so as to counter credit card fraud.
Figure 1. Block diagram of the proposed fraud detection system
The FDS system consists of four components,
namely, rule-based filter, Dempster–Shafer adder, transaction
history database and Bayesian learner. In the rule-based
component, the suspicion level of each incoming transaction
based on the extent of its deviation from good pattern is
determined. Dempster–Shafer’s theory is used to combine
multiple such evidences and an initial belief is computed. Then
the initial belief values are combined to obtain an overall belief
by applying Dempster–Shafer theory. The transaction is
classified as suspicious or suspicious depending on this initial
belief. Once a transaction is found to be suspicious, belief is
further strengthened or weakened according to its similarity
with fraudulent or genuine transaction history using Bayesian
learning.
It has high accuracy and high processing Speed. It improves
detection rate and reduces false alarms and also it is applicable
in E-Commerce. But it is highly expensive and its processing
Speed is low.
B. BLAST-SSAHA Hybridization for Credit Card Fraud
Detection
BLAST-SSAHA in credit card fraud detection
The Hybridization of BLAST and SSAHA algorithm
[1][6][14] is refereed as BLAH-FDS algorithm. Sequence
alignment becomes an efficient technique for analyzing the
spending behavior of customers. BLAST and SSAHA are the
efficient sequent alignment algorithms used for credit card
fraud detection.
BLAH-FDS is a two-stage sequence alignment algorithm in
which a profile analyzer (PA) determines the similarity of an
incoming sequence of transactions on a given credit card with
the genuine cardholder’s past spending sequences. The unusual
transactions traced by the profile analyzer are passed to a
deviation analyzer (DA) for possible alignment with past
fraudulent behavior. The final decision about the nature of a
transaction is taken on the basis of the observations by these
two analyzers.
BLAST-SSAHA Hybridization
When a transaction is carried out, the incoming sequence is
merged into two sequences time-amount sequence TA. The TA
is aligned with the sequences related to the credit card in CPD.
This alignment process is done using BLAST.
Figure 2. Architecture of BLAST and SSAHA Fraud Detection System
SSAHA algorithm [9] is used to improve the speed of the
alignment process. If TA contains genuine transaction, then it
would align well with the sequences in CPD. If there is any
fraudulent transactions in TP, mismatches can occur in the
alignment process. This mismatch produces a deviated
sequence D which is aligned with FHD. A high similarity
between deviated sequence D and FHD confirms the presence
of fraudulent transactions. PA evaluates a Profile score (PS)
according to the similarity between TA and CPD. DA
evaluates a deviation score (DS) according to the similarity
between D and FHD. The FDM finally raises an alarm if the
total score (PS - DS) is below the alarm threshold (AT).
The performance of BLAHFDS is good and it results in high
accuracy. At the same time, the processing speed is fast
enough to enable on-line detection of credit card fraud. It
Counter frauds in telecommunication and banking fraud
detection. But it does not detect cloning of credit cards
C. Credit Card Fraud Detection using Hidden Markov Model
Hidden Markov Model
A Hidden Markov Model is a double embedded stochastic
process with used to model much more complicated stochastic
processes as compared to a traditional Markov model. If an
incoming credit card transaction is not accepted by the trained
Hidden Markov Model with sufficiently high probability, it is
considered to be fraudulent transactions.
Use Of HMM For Credit Card Fraud Detection
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
154
Figure 3. Process Flow of the Proposed FDS
A Hidden Markov Model [3] is initially trained with the
normal behavior of a cardholder. Each incoming transaction is
submitted to the FDS for verification. FDS receives the card
details and the value of purchase to verify whether the
transaction is genuine or not. If the FDS confirms the
transaction to be malicious, it raises an alarm and the issuing
bank declines the transaction. The concerned cardholder may
then be contacted and alerted about the possibility that the card
is compromised.
HMM never check the original user as it maintains a log. The
log which is maintained will also be a proof for the bank for
the transaction made. HMM reduces the tedious work of an
employee in bank since it maintains a log. HMM produces
high false alarm as well as high false positive.
D. Fuzzy Darwinian Detection of Credit Card Fraud
The Evolutionary-Fuzzy System
Fuzzy Darwinian Detection system [4] uses genetic
programming to evolve fuzzy logic rules capable of classifying
credit card transactions into “suspicious” and “non-suspicious”
classes. It describes the use of an evolutionary-fuzzy system
capable of classifying suspicious and non-suspicious credit
card transactions.The system comprises of a Genetic
Programming (GP) search algorithm and a fuzzy expert
system.
Data is provided to the FDS system. The system first clusters
the data into three groups namely low, medium and high. The
GPThe genotypes and phenotypes of the GP System consist of
rules which match the incoming sequence with the past
sequence. Genetic Programming is used to evolve a series of
variable-length fuzzy rules which characterize the differences
between classes of data held in a database. The system is being
developed with the specific aim of insurance-fraud detection
which involves the challenging task of classifying data into the
categories: "safe" and "suspicious". When the customer’s
payment is not overdue or the number of overdue payment is
less than three months, the transaction is considered as “nonsuspicious”,
otherwise it is considered as “suspicious”. The
Fuzzy Darwinian detects suspicious and non -suspicious data
and it easily detects stolen credit card Frauds.
Figure 4. Block diagram of the Evolutionary-fuzzy system
The complete system is capable of attaining good accuracy
and intelligibility levels for real data. It has very high accuracy
and produces a low false alarm, but it is not applicable in
online transactions and it is highly expensive. The processing
speed of the system is low.
E. Credit Card Fraud Detection Using Bayesian and Neural
Networks
The credit card fraud detection using Bayesian and Neural
Networks are automatic credit card fraud detection system by
means of machine learning approach. These two machine
learning approaches are appropriate for reasoning under
uncertainty.
An artificial neural network [5][7][9][10][16] consists of an
interconnected group of artificial neurons and the commonly
used neural networks for pattern classification is the feedforward
network. It consist of three layers namely input,
hidden and output layers. The incoming sequence of
transactions passes from input layer through hidden layer to
the output layer. This is known as forward propagation. The
ANN consists of training data which is compared with the
incoming sequence of transactions. The neural network is
initially trained with the normal behavior of a cardholder. The
suspicious transactions are then propagated backwards through
the neural network and classify the suspicious and nonsuspicious
transactions. Bayesian networks are also known as
belief networks and it is a type of artificial intelligence
programming that uses a variety of methods, including
machine learning algorithms and data mining, to create layers
of data, or belief. By using supervised learning, Bayesian
networks are able to process data as needed, without
experimentation. Bayesian belief networks are very effective
for modeling situations where some information is already
known and incoming data is uncertain or partially unavailable.
This information or belief is used for pattern identification and
data classification.
A neural network learns and does not need to be
reprogrammed. Its processing speed is higher than BNN.
Neural network needs high processing time for large neural
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
155
networks. Bayesian networks are supervised algorithms and
they provide a good accuracy, but it needs training of data to
operate and requires a high processing speed.
III. COMPARISON OF VARIOUS FRAUD DETECTION SYSTEMS
PARAMETERS USED FOR COMPARISON
The Parameters used for comparison of various Fraud
Detection Systems are Accuracy, Fraud Detection Rate in
terms of True Positive and false positive, cost and training
required, Supervised Learning. The comparison performed is
shown in Table 1.
Accuracy: It represents the fraction of total number of
transactions (both genuine and fraudulent) that have been
detected correctly.
Method: It describes the methodology used to counter the
credit card fraud. The efficient methods like sequence
alignment, machine learning, neural networks are used to
detect and counter frauds in credit card transactions.
True Positive (TP): It represents the fraction of fraudulent
transactions correctly identified as fraudulent and genuine
transactions correctly identified as genuine. False Positive
(FP): It represents fraction of genuine transactions identified as
fraudulent and fraudulent transactions identified as
genuine.Training data: It consists of a set of training examples.
The fraud detection systems are initially trained with the
normal behavior of a cardholder.
Supervised Learning: It is the machine learning task of
inferring a function from supervised training data. Comparison
Results
The Comparison table was prepared in order to compare
various credit card fraud detection mechanisms. All the
techniques of credit card fraud detection described in the table
1 have its own strengths and weaknesses.
Results show that the fraud detection systems such as Fuzzy
Darwinian, Dempster and Bayesian theory have very high
accuracy in terms of TP and FP. At the same time, the
processing speed is fast enough to enable on-line detection of
credit card fraud in case of BLAH-FDS and ANN.
IV. CONCLUSION
Efficient credit card fraud detection system is an utmost
requirement for any card issuing bank. Credit card fraud
detection has drawn quite a lot of interest from the research
community and a number of techniques have been proposed to
counter credit fraud. The Fuzzy Darwinian fraud detection
systems improve the system accuracy. Since The Fraud
detection rate of Fuzzy Darwinian fraud detection systems in
terms of true positive is 100% and shows good results in
detecting fraudulent transactions. The neural network based
CARDWATCH shows good accuracy in fraud detection and
Processing Speed is also high, but it is limited to one-network
per customer. The Fraud detection rate of Hidden Markov
model is very low compare to other methods. The hybridized
algorithm named BLAH-FDS identifies and detects fraudulent
transactions using sequence alignment tool. The processing
speed of BLAST-SSAHA is fast enough to enable on-line
detection of credit card fraud. BLAH-FDS can be effectively
used to counter frauds in other domains such as
telecommunication and banking fraud detection. The ANN and
BNN are used to detect cellular phone fraud, Network
Intrusion. All the techniques of credit card fraud detection
discussed in this survey paper have its own strengths and
weaknesses. Such a survey will enable us to build a hybrid
approach for identifying fraudulent credit card transactions.
REFERENCES
[1] Amlan Kundu, Suvasini Panigrahi, Shamik Sural and Arun K.
Majumdar, “BLAST-SSAHA Hybridization for Credit Card Fraud
Detection,” IEEE Transactions On Dependable And Secure Computing,
vol. 6, Issue no. 4, pp.309-315, October-December 2009.
[2] Amlan Kundu, Suvasini Panigrahi, Shamik Sural and Arun K.
Majumdar, “Credit card fraud detection: A fusion approach using
Dempster–Shafer theory and Bayesian learning,” Special Issue on
Information Fusion in Computer Security, Vol. 10, Issue no 4, pp.354-
363, October 2009.
[3] Abhinav Srivastava, Amlan Kundu, Shamik Sural, Arun K.
Majumdar, “Credit Card Fraud Detection using Hidden Markov Model,”
IEEE Transactions On Dependable And Secure Computing, vol. 5, Issue
no. 1, pp.37-48, January-March 2008.
[4] Peter J. Bentley, Jungwon Kim, Gil-Ho Jung and Jong-Uk Choi,
“Fuzzy Darwinian Detection of Credit Card Fraud,” In the 14th Annual
Fall Symposium of the Korean Information Processing Society, 14th
October 2000.
[5] Sam Maes, Karl Tuyls, Bram Vanschoenwinkel, Bernard Manderick,
“Credit card fraud detection using Bayesian and neural networks,”
Interactive image-guided neurosurgery, pp.261-270, 1993.
[6] Amlan Kundu, S. Sural, A.K. Majumdar, “Two-Stage Credit Card
Fraud Detection Using Sequence Alignment,” Lecture Notes in
Computer Science, Springer Verlag, Proceedings of the International
Conference on Information Systems Security, Vol. 4332/2006, pp.260-
275, 2006.
[7] Simon Haykin, “Neural Networks: A Comprehensive Foundation,”
2nd Edition, pp.842, 1999.
International Conference on Computer, Communication and Electrical Technology – ICCCET2011, 18th & 19th March, 2011
156
[8] A. Chiu, C. Tsai, “A Web Services-Based Collaborative Scheme for
Credit Card Fraud Detection,” Proceedings of the IEEE International
Conference on e-Technology, e-Commerce and e-Service, pp.177-181,
2004.
[9] R. Brause, T. Langsdorf, M. Hepp, “Neural Data Mining for Credit
Card
Fraud Detection, “International Conference on Tools with Artificial
Intelligence, pp.103-106, 1999.
[10] Ghosh, D.L. Reilly, “Credit Card Fraud Detection with a Neural-
Network,” Proceedings of the International Conference on System
Science, pp.621-630, 1994.
[11] Z. Ning, A.J. Cox, J.C. Mullikin, “SSAHA: A Fast Search Method for
Large DNA Databases,” Genome Research, Vol. 11, No. 10, pp.1725-
1729, 2001.
[12] Lam, Bacchus, “Learning bayesian belief networks: An approach
basedon the MDL principle,” Computational Intelligence, Vol. 10, Issue
No. 3, pp.269–293, August 1994.
[13] Manoel Fernando Alonso Gadi, Xidi Wang, Alair Pereira do Lago,
“Credit Card Fraud Detection with Artificial Immune System,” Lecture
Notes in Computer Science, Vol. 5132/2008, pp.119-131, 2008.
[14] Tom Madden, “The BLAST Sequence Analysis Tool”, 2003.
[15] M. Mehdi, S. Zair, A. Anou and M. Bensebti,” A Bayesian Networks in
Intrusion Detection Systems,” International Journal of Computational
Intelligence Research, Issue No. 1, pp.0973-1873 Vol. 3, 2007.
[16] Ray-I Chang, Liang-Bin Lai, Wen-De Su, Jen-Chieh Wang, Jen-Shiang
Kouh, “Intrusion Detection by Backpropagation Neural Networks with
Sample-Query and Attribute-Query,” Research IndiaPublications, pp.6-
10, November 26, 2006.
[17] C. Phua, V. Lee, K. Smith, R. Gayler, “A Comprehensive Survey of Data
Mining-based Fraud Detection Research,” Artificial Intelligence Review,
2005.
[18] E. Aleskerov, B. Freisleben, B. Rao, “CARDWATCH: A Neural
Network Based Database Mining System for Credit Card Fraud
Detection,” Proceedings of IEEE/IAFE Conference on Computational
Intelligence for Financial Engineering (CIFEr), pp.220-226, 1997.
[19] Philip K. Chan ,Wei Fan, Andreas L. Prodromidis, Salvatore J. Stolfo,
“Distributed Data Mining in Credit Card Fraud Detection,” IEEE
Intelligent Systems ISSN, Vol. 14 , Issue No. 6, Pages: 67 – 74,
November 1999.
[20] Barry Masuda, “Credit Card Fraud Prevention: A Successful Retail
Strategy,” crime prevention, Vol. 6, 1986.
[21] Linda Delamaire, Hussein Abdou, John Pointon, “Credit card fraud and
detection techniques: a review,” Banks and Bank Systems, pp. 57-68,
2009.
[22] Tej Paul Bhatla, Vikram Prabhu & Amit Dua “Understanding Credit
Card Frauds,” 2003.
[23] Russell, Norvig ,” Artificial Intelligence – A Modern Approach,” 2nd
Edition, 2003.
[24] S.F.Altschul, W. Gish, W. Miller, W. Myers, J. Lipman, “Basic Local
Alignment Search Tool,” Journal of Molecular Biology, Vol. 215,
pp.403-410, 1990.
[25] Ezawa.K. & Norton.S,”Constructing Bayesian Networks to Predict
Uncollectible Telecommunications Accounts,” IEEE Expert, October;
45-51, 1996.
[26] Fan, W. Miller, M.Stolfo, S.Lee & P Chan, “Using Artificial Anomalies
to Detect Unknown and Known Network Intrusions,” Proc. of ICDM01,
pp.504-507, 2001.

JAVA- Sketch4Match – Content-based Image Retrieval System Using Sketches

Sketch4Match – Content-based Image Retrieval
System Using Sketches
B. Sz´ant´o, P. Pozsegovics, Z. V´amossy, Sz. Sergy´an
O´ buda University/Institute of Software Technology, Budapest, Hungary
{szanto90balazs, pozsee1st}@gmail.com, {vamossy.zoltan, sergyan.szabolcs}@nik.uni-obuda.hu
Abstract—The content based image retrieval (CBIR) is one of
the most popular, rising research areas of the digital image processing.
Most of the available image search tools, such as Google
Images and Yahoo! Image search, are based on textual annotation
of images. In these tools, images are manually annotated with
keywords and then retrieved using text-based search methods.
The performances of these systems are not satisfactory. The goal
of CBIR is to extract visual content of an image automatically,
like color, texture, or shape.
This paper aims to introduce the problems and challenges
concerned with the design and the creation of CBIR systems,
which is based on a free hand sketch (Sketch based image
retrieval – SBIR). With the help of the existing methods, describe
a possible solution how to design and implement a task spesi c
descriptor, which can handle the informational gap between a
sketch and a colored image, making an opportunity for the
ef cient search hereby. The used descriptor is constructed after
such special sequence of preprocessing steps that the transformed
full color image and the sketch can be compared. We have
studied EHD, HOG and SIFT. Experimental results on two
sample databases showed good results. Overall, the results show
that the sketch based system allows users an intuitive access to
search-tools.
The SBIR technology can be used in several applications such
as digital libraries, crime prevention, photo sharing sites. Such a
system has great value in apprehending suspects and indentifying
victims in forensics and law enforcement. A possible application
is matching a forensic sketch to a gallery of mug shot images.
The area of retrieve images based on the visual content of the
query picture intensi ed recently, which demands on the quite
wide methodology spectrum on the area of the image processing.
I. INTRODUCTION
Before the spreading of information technology a huge
number of data had to be managed, processed and stored.
It was also textual and visual information. Parallelly of the
appearance and quick evolution of computers an increasing
measure of data had to be managed. The growing of data
storages and revolution of internet had changed the world. The
ef ciency of searching in information set is a very important
point of view. In case of texts we can search exibly using
keywords, but if we use images, we cannot apply dynamic
methods. Two questions can come up. The rst is who yields
the keywords. And the second is an image can be well
represented by keywords.
In many cases if we want to search ef ciently some data
have to be recalled. The human is able to recall visual
information more easily using for example the shape of an
object, or arrangement of colors and objects. Since the human
is visual type, we look for images using other images, and
follow this approach also at the categorizing. In this case
we search using some features of images, and these features
are the keywords. At this moment unfortunately there are not
frequently used retrieval systems, which retrieve images using
the non-textual information of a sample image. What can be
the reason? One reason may be that the text is a human
abstraction of the image. To give some unique and identi able
information to a text is not too dif cult. At the images the
huge number of data and the management of those cause the
problem. The processing space is enormous.
Our purpose is to develop a content based image retrieval
system, which can retrieve using sketches in frequently used
databases. The user has a drawing area where he can draw
those sketches, which are the base of the retrieval method.
Using a sketch based system can be very important and
ef cient in many areas of the life. In some cases we can recall
our minds with the help of gures or drawing. In the following
paragraph some application possibilities are analyzed.
The CBIR systems have a big signi cance in the criminal
investigation. The identi caton of unsubstantial images, tattoos
and graf ties can be supported by these systems. Similar
applications are implemented in [9], [10], [11].
Another possible application area of sketch based information
retrieval is the searching of analog circuit graphs from a
big database [7]. The user has to make a sketch of the analog
circuit, and the system can provide many similar circuits from
the database.
The Sketch-based image retrieval (SBIR) was introduced in
QBIC [6] and VisualSEEK [17] systems. In these systems the
user draws color sketches and blobs on the drawing area. The
images were divided into grids, and the color and texture features
were determined in these grids. The applications of grids
were also used in other algorithms, for example in the edge
histogram descriptor (EHD) method [4]. The disadvantage of
these methods is that they are not invariant opposite rotation,
scaling and translation. Lately the development of dif cult and
robust descriptors was emphasized. Another research approach
is the application of fuzzy logic or neural networks. In these
cases the purpose of the investment is the determination of
suitable weights of image features [15].
II. OUR PROJECT
In this section the goal and the global structure of our system
is presented. The components and their communications
SAMI 2011 • 9th IEEE International Symposium on Applied Machine Intelligence and Informatics • January 27-29, 2011 • Smolenice, Slovakia
978-1-4244-7430-1/11/$26.00 ©2011 IEEE - 183 -
Fig. 1. The global structure of the system.
are introduced, and the functionality of subsystems and the
algorithms are shown.
A. The Purpose of the System
Even though the measure of research in sketch-based image
retrieval increases, there is no widely used SBIR system. Our
goal is to develop a content-based associative search engine,
which databases are available for anyone looking back to
freehand drawing. The user has a drawing area, where he can
draw all shapes and moments, which are expected to occur in
the given location and with a given size. The retrieval results
are grouped by color for better clarity. Our most important task
is to bridge the information gap between the drawing and the
picture, which is helped by own preprocessing transformation
process. In our system the iteration of the utilization process is
possible, by the current results looking again, thus increasing
the precision.
B. The Global Structure of Our System
The system building blocks include a preprocessing subsystem,
which eliminates the problems caused by the diversity
of images. Using the feature vector generating subsystem our
image can be represented by numbers considering a given
property. The database management subsystem provides an
interface between the database and the program. Based on the
feature vectors and the sample image the retrieval subsystem
provides the response list for the user using the displaying
Fig. 2. The data ow model of the system from the user’s point of view.
Fig. 3. The retrieval has to be robust in contrast of illumination and difference
of point of view.
subsystem (GUI). The global structure of the system is shown
in Fig. 1.
The content-based retrieval as a process can be divided into
two main phases. The rst is the database construction phase,
in which the data of preprocessed images is stored in the form
of feature vectors – this is the off-line part of the program. This
part carries out the computation intensive tasks, which has to
be done before the program actual use. The other phase is the
retrieval process, which is the on-line unit of the program.
Examine the data ow model of the system from the user’s
point of view. It is shown in Fig. 2. First the user draws a
sketch or loads an image. When the drawing has been nished
or the appropriate representative has been loaded, the retrieval
process is started. The retrieved image rst is preprocessed.
After that the feature vector is generated, then using the
retrieval subsystem a search is executed in the previously
indexed database. As a result of searching a result set is
raised, which appears in the user interface on a systematic
form. Based on the result set we can again retrieve using
another descriptor with different nature. This represents one
using loop.
C. The Preprocessing Subsystem
The system was designed for databases containing relatively
simple images, but even in such cases large differences can
occur among images in le size or resolution. In addition,
some images may be noisier, the extent and direction of
illumination may vary (see Fig. 3), and so the feature vectors
cannot be effectively compared. In order to avoid it, a multistep
preprocessing mechanism precedes the generation of
descriptors.
The input of the preprocessing subsystem is one image, and
the output is the respective processed result set (see Fig. 4).
The main problem during preprocessing of the color images
Fig. 4. The steps of preprocessing.
B. Szántó et al. • Sketch4Match – Content-based Image Retrieval System Using Sketches
- 184 -
of real situations is that the background containing several
textures and changes generate unnecessary and variable-length
edges [12]. As a possible solution texture lters were analyzed,
for example the entropy calculation based lter. It gives very
valuable results, if a textured object of little color stands in a
homogenous background.
Therefore, the classi cation of the image pixel intensities
minimizes the number of the displayed colors. If only some
intensity values represent the images, then according to our
experience, the color based classi cation of result images can
also be easily implemented. As an approximate method the
uniform and minimum variance quantization [19] were used.
After the transformation step edges are detected, of which the
smaller ones are ltered by morphological opening lter.
D. The Feature Vector Preparation Subsystem
In this subsystem the descriptor vectors representing the
content of images are made. Basically three different methods
were used, namely the edge histogram descriptor (EHD) [4],
the histogram of oriented gradients (HOG) [2] and the scale
invariant feature transform (SIFT) [16].
Our system works with databases containing simple images.
But even in such cases, problems can occur, which must be
handled. If the description method does not provide perfect
error handling, that is expected to be robust to the image
rotation, scaling and translation. Our task is to increase this
safety.
Another problem was encountered during the development
and testing. Since own hand-drawn images are retrieved, an
information gap arises between retrieved sketch and color
images of database. While an image is rich of information,
in contrast at a binary edge image only implicit content and
explicit location of pixels can be known.
How could we allow a comparison between the two extremes,
so that we keep only the relevant information of
both? This transformation step has to be incorporated into
the method, or to be made during the preprocessing. As
we wrote in the previous subsection, the images of database
were transformed into edge images, so information was lost,
however. In order to discover the implicit content the 2-
dimensional distance transform [5] was used.
E. The Retrieval Subsystem
As the feature vectors are ready, the retrieval can start.
For the retrieval the distance based search was used with
Minkowski distance [13], and the classi cation-based retrieval
[14].
F. The Database Management Subsystem
The images and their descriptors are stored and the necessary
mechanism for subsequent processing is provided. This is
the database management subsystem, which consists of three
parts, the storage, the retrieval, and the data manipulation
modules [3].
The storage module provides images, information and the
associated feature vectors are uploaded to the database. The
le name, size and format of the image are attached. The
information related to the preparation is gathered, as the
maker’s name, creation date, image title, the brand and type
of recording unit. In addition, we may need more information
of color depth, resolution, image dimension, vertical and
horizontal resolution, possibly the origin of the image, so we
take care of their storage. For storage the large images are
reduced. The data is stored in a global, not scattered place in
the hard disk.
The retrieval results are obtained by usage of query module.
The retrieval subsystem contacts the database, which provides
the descriptors. For optimization it is already loaded at startup
to a variable, data structure. If we have the result of retrieval,
the database retrieves the result image using the primary key.
In addition, statistics can be taken due to a variety of criteria.
G. The Displaying Subsystem
Because drawings are the basis of the retrieval, thus a
drawing surface is provided, where they can be produced. Also
a database is needed for search, which also must be set before
the search. In case of large result set the systematic arrangement
of search results makes much easier the overviews, so it
is guaranteed. The methods in our system cannot work without
parameters, and therefore an opportunity is provided to set
these as well.
The number of results to show in the user interface is an
important aspect. Prima facie the rst n pieces of results
can be displayed, which conveniently can be placed in the
user interface. This number depends on the resolution of
the monitor, and forasmuch the large resolution monitors are
widely used, so this number can move between 20 and 40.
Another approach is to de ne the maximum number of results
(n), but we also observe that how the goodness of individual
results can vary. If the retrieval effectiveness is worse by only
a given ratio, the image can be included in the display list.
In our system the possible results are classi ed, and the
Fig. 5. The implemented user interface.
SAMI 2011 • 9th IEEE International Symposium on Applied Machine Intelligence and Informatics • January 27-29, 2011 • Smolenice, Slovakia
- 185 -
Fig. 6. The rst nine results can be seen in a separate window.
obtained clusters are displayed. Hence the solution set is more
ordered and transparent. By default the results are displayed
by relevance, but false-positive results can be occurred, which
worsen the retrieval results. If the results are reclassi ed in
according to some criterion, then the number of false-positive
results decreases. Thus the user perception is better. Since the
color-based clustering for us is the best solution, so our choice
was the k-means clustering method [1], which is perfectly
suited for this purpose.
The implemented user interface can be seen in Fig. 5 and
Fig. 6. Our program has been writen in MATLAB, and during
the implementation some new idea of [18] was considered.
III. TESTS AND RESULTS
A. Used Test Databases
The system was tested with more than one sample database
to obtain a more extensive description of its positive and negative
properties. The Microsoft Research Cambridge Object
Fig. 7. Some sample images of the Microsoft Research Cambridge Object
Recognition Image Database.
Fig. 8. Some sample images of Flickr 160 database.
Recognition Image Database was used, which contains 209
realistic objects. All objects have been taken from 14 different
orientations with 450×450 resolution. The images are stored
in TIF format with 24 bits. This database is most often used
in computer and psychology studies. Some images of this
database can be seen in Fig. 7.
Another test database was the Flickr 160. This database
was used before for measuring of a dictionary-based retrieval
system [8]. 160 pieces of general-themed pictures have sorted
from the photo sharing website called Flickr. The images can
be classi ed into 5 classes based on their shape. A lot of
images contain the same building and moments. The database
is accompanied by examples, which is based on the retrieval.
Since the test result are documented and the retrieved sketches
are also available, so the two systems can be compared with
each other. Some images of Flickr 160 database can be seen
in Fig. 8.
Wang is the third used database, which contains 1000
images from the Corel image database. The images can
be divided into 10 classes based on their content, namely
Africa, beaches, moments, buses, food, dinosaurs, elephants,
owers, horses and mountains. Using this database color-based
grouping of our system can be tried (see Fig. 9).
At the tests used sketch images can be seen in Fig. 10.
Fig. 9. Some images of Wang database clustered by color content.
B. Szántó et al. • Sketch4Match – Content-based Image Retrieval System Using Sketches
- 186 -
Fig. 10. Sketch images, which was used at the tests.
B. Testing Aspects, Used Metrics
We can evaluate the effectiveness of the system forming
methods, and compare the different applied methods, if we
de ne metrics. Thus, we can determine which method works
effectively in what circumstances, and when not.
Let be a test database containing N pieces images, P length
retrieval list, from which Q pieces matter as relevant results,
and Z denotes the number of expected relevant hits. If we
know this information, the following metrics can be calculated.
precision =
relevant hits (Q)
all hits (P)
, (1)
where the precision gives information about the relative
effectiveness of the system.
recall =
relevant hits (Q)
expected hits (Z)
, (2)
where the recall gives information about the absolute
accuracy of the system.
The number of all and expected hits is determined in each
case of testing methods. The impact of multi-level retrieval
to the ef ciency of retrieval is measured, which con rms the
importance of multi-level search. In addition, the ROC curves
plot the true and false positive hit rate. The area under the
curve re ects the ef ciency of the method.
When the Object Databank database was used by EHD the
provided precision and recallu values can be seen in Fig. 11
Fig. 11. Effect of block size change using EHD method. The threshold is
constant 2.
Fig. 12. Effect of threshold value change using EHD method. The block
size is constant 10.
using different block size valus, and in Fig. 12 using different
threshold values.
In Fig. 13 and 14 similar result graphs can be seen in that
case when the HOG method was tested.
Our system was compared with other systems. If we focus
on the average precision value, we can nd our system better
than some systems before (see Table I). So our system is more
effective than the examined other systems.
IV. CONCLUSIONS
Among the objectives of this paper performed to design,
implement and test a sketch-based image retrieval system. Two
main aspects were taken into account. The retrieval process has
to be unconventional and highly interactive. The robustness of
the method is essential in some degree of noise, which might
also be in case of simple images.
The drawn image without modi cation can not be compared
with color image, or its edge representation. Alternatively a
distance transform step was introduced. The simple smoothing
and edge detection based method was improved, which had a
similar importance as the previous step.
Fig. 13. Effect of block size change using HOG method. The number of
bins is constant 9.
SAMI 2011 • 9th IEEE International Symposium on Applied Machine Intelligence and Informatics • January 27-29, 2011 • Smolenice, Slovakia
- 187 -
TABLE I
THE PERFORMANCE OF USED METHODS IN SKETCH-BASED SYSTEMS.
Method HOG (with gradient map) HOG (without gradient map) SIFT EHD (own) HOG (own)
Average precision 54% 42% 41% 43% 44%
Fig. 14. Effect of number of bins change using HOG method. The block
size is constant 5.
At the tests the effectiveness of EHD and the dynamically
parameterized HOG implementation was compared. It
was examined with more databases. In our experience the
HOG in more cases was much better than the EHD based
retrieval. However, the situation is not so simple. The edge
histogram descriptor can mainly look better for informationpoor
sketches, while in other case better results can be
achieved for more detailed. This is due to the sliding window
solution of HOG. Using the SIFT-based multi-level solution
the search result list is re ned. With the categorization of
retrieval response a bigger decision possibility was given to
the user on that way, he can choose from more groups of
results.
REFERENCES
[1] D. Comaniciu, and P. Meer, “Robust analysis of feature spaces: color
image segmentation,” IEEE Conference on Computer Vision and Pattern
Recognition, pp. 750–755, June 1997.
[2] N. Dalal, and B. Triggs, “Histograms of oriented gradients for human
detection,” IEEE Conference on Computer Vision and Pattern Recognition,
pp. 886–893, July 2005.
[3] T. Deselaers, D. Keysers, and H. Ney, “Features for image retrieval:
an experimental comparison,” Information Retrieval, vol. 11, pp. 77–107,
December 2007.
[4] M. Eitz, K. Hildebrand, T. Boubekeur, and M. Alexa, “An evaluation
of descriptors for large-scale image retrieval from sketched feature lines,”
Computers and Graphics, vol. 34, pp. 482–498, October 2010.
[5] R. Fabbri, L.D.F. Costa, J.C. Torelli, and O.M. Bruno, “2D Euclidean
distance transform algorithms: a comparative survey,” ACM Computing
Surveys, vol. 44, pp. 1–44, February 2008.
[6] M. Flickner, H. Sawhney, W. Niblack, J. Ashley, Q. Hiang, B. Dom, M.
Gorkani, J. Hafner, D. Lee, D. Petkovic, D. Steele, and P. Yanker, “Query
by image and video content: the QBIC system,” IEEE Computer, vol. 28,
pp. 23–32, 2002.
[7] Gy. Gy¨or¨ok, “Embedded hybrid controller with programmable analog
circuit,” IEEE 14th International Conference on Intelligent Systems pp.
59.1–59.4, May 2010.
[8] R. Hu, M. Barnard, and J. Collomosse, “Gradient eld descriptor for
sketch based image retrieval and localization,” International Conference
on Image Processing, pp. 1–4, 2010.
[9] A.K. Jain, J.E. Lee, and R. Jin, “Sketch to photo matching: a feature-based
approach,” Proc. SPIE, Biometric Technology for Human Identi cation VII,
vol. 7667, pp. 766702–766702, 2010.
[10] A.K. Jain, J.E. Lee, R. Jin, and N. Gregg, “Graf ti-ID: matching retrieval
of graf ti images,” ACM MM, MiFor’09, pp. 1–6, 2009.
[11] A.K. Jain, J.E. Lee, R. Jin, and N. Gregg, “Content based image retrieval:
an application to tattoo images,” IEEE International Conference on Image
Processing, pp. 2745–2748, November 2009
[12] T. Hashimoto, A. R¨ovid, G. Ohashi, Y. Ogura, H. Nakahara, and
A.R. V´arkonyi-K´oczy, “Edge detection based image retrieval method by
sketches,” Proc. of the Internatonal Symposium on Flexible Automation,
pp. 1–4, 2006.
[13] J.B. Kruskal, “Nonmetric multidimensional scaling: a numerical
method,” Psychometrika, vol. 29, pp. 115–129, 1964.
[14] Y. Liu, and F. Dellaert, “A classi cation based similarity metric for
3D image retrieval,” IEEE Conference on Computer Vision and Pattern
Recognition, pp. 800–805, June 1998.
[15] D.G. Lowe, “Distinctive image features from scale-invariant keypoints,”
International Journal of Computer Vision, vol. 60, pp. 91–110, 2004.
[16] D.G. Lowe, “Object Recognition from Local Scale-Invariant Features,”
IEEE International Conference on Computer Vision, vol. 2, p. 1150, 1999.
[17] J.R. Smith, and S.F. Chang, “VisualSEEK: a fully automated contentbased
image query system,” ACM Multimedia ’96, pp. 97–98, 1996.
[18] J. Tick, and J. Fodor, “Some classes of binary operations in approximate
reasoning,” Studies in Informatics and Control, vol. 15, pp. 259–270, 2006.
[19] S.J. Wan, P. Prusinkiewicz, and S.K.M. Wong, “Variance-based color
image quantization for frame buffer display,” Color Research and Application,
vol. 15, pp. 52–58, February 1990.
B. Szántó et al. • Sketch4Match – Content-based Image Retrieval System Using Sketches
- 188 -

Hibernate 3.0

What is Hibernate?
Hibernate 3.0, the latest Open Source persistence technology at the heart of J2EE EJB 3.0 is available for download from Hibernet.org.The Hibernate 3.0 core is 68,549 lines of Java code together with 27,948 lines of unit tests, all freely available under the LGPL, and has been in development for well over a year. Hibernate maps the Java classes to the database tables. It also provides the data query and retrieval facilities that significantly reduces the development time. Hibernate is not the best solutions for data centric applications that only uses the stored-procedures to implement the business logic in database. It is most useful with object-oriented domain modes and business logic in the Java-based middle-tier. Hibernate allows transparent persistence that enables the applications to switch any database. Hibernate can be used in Java Swing applications, Java Servlet-based applications, or J2EE applications using EJB session beans.

Features of Hibernate

  • Hibernate 3.0 provides three full-featured query facilities: Hibernate Query Language, the newly enhanced Hibernate Criteria Query API, and enhanced support for queries expressed in the native SQL dialect of the database.
  • Filters for working with temporal (historical), regional or permissioned data.
  • Enhanced Criteria query API: with full support for projection/aggregation and subselects.
  • Runtime performance monitoring: via JMX or local Java API, including a second-level cache browser.
  • Eclipse support, including a suite of Eclipse plug-ins for working with Hibernate 3.0, including mapping editor, interactive query prototyping, schema reverse engineering tool.
  • Hibernate is Free under LGPL: Hibernate can be used to develop/package and distribute the applications for free.
  • Hibernate is Scalable: Hibernate is very performant and due to its dual-layer architecture can be used in the clustered environments.
  • Less Development Time: Hibernate reduces the development timings as it supports inheritance, polymorphism, composition and the Java Collection framework.
  • Automatic Key Generation: Hibernate supports the automatic generation of primary key for your.
  • JDK 1.5 Enhancements: The new JDK has been released as a preview earlier this year and we expect a slow migration to the new 1.5 platform throughout 2004. While Hibernate3 still runs perfectly with JDK 1.2, Hibernate3 will make use of some new JDK features. JSR 175 annotations, for example, are a perfect fit for Hibernate metadata and we will embrace them aggressively. We will also support Java generics, which basically boils down to allowing type safe collections.
  • EJB3-style persistence operations: EJB3 defines the create() and merge() operations, which are slightly different to Hibernate's saveOrUpdate() and saveOrUpdateCopy() operations. Hibernate3 will support all four operations as methods of the Session interface.
  • Hibernate XML binding enables data to be represented as XML and POJOs interchangeably.
  • The EJB3 draft specification support for POJO persistence and annotations.
Detailed features are available at http://www.hibernate.org/About/Road

Hibernate-Tutorials

This tutorial provide step by step instructions on using Hibernate 3.0. Hibernate is popular open source object relational mapping tool for Java platform. It provides powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent classes following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language, designed as a "minimal" object-oriented extension to SQL, provides an elegant bridge between the object and relational worlds. Hibernate also allows you to express queries using native SQL or Java-based Criteria and Example queries. Hibernate is now the most popular object/relational mapping solution for Java. Download Source Code Example of tutorial

  1. Introduction to Hibernate 3.0
    This lesson introduces you with the Hibernate 3.0 and provides the detailed features of the Hibernate 3.0
  2. Hibernate Architecture
    In this lesson you will learn the architecture of Hibernate.
  3. First Hibernate Application
    This section describes you how to develop sample Hibernate Application. Also see Hibernate Getting Started Tutorial.
  4. Running the Example in Eclipse
    This section shows you how to run the example in the Eclipse.
  5. Understanding Hibernate O/R Mapping
    This section describes the each component of the hibernate mapping file..
  6. Understanding Hibernate element
    In this lesson you will learn about hibernate method in detail. Hibernate generator element generates the primary key for new record.
  7. Using Hibernate to generate id incrementally
    In this lesson I will show you how to write running program to demonstrate it.
  8. Hibernate Update Query
    In this tutorial we will show how to update a row with new information by retrieving data from the underlying database using the hibernate. Lets first write a java class to update a row to the database.
  9. Hibernate Delete Query
    In this lesson we will show how to delete rows from the underlying database using the hibernate. Lets first write a java class to delete a row from the database.


    Hibernate Query Language
  10. Introduction to Hibernate Query Language
    In this lesson you will learn about Hibernate Query Language and its features.
  11. Preparing table for HQL Examples
    In this lesson you will create insurance table and populate it with the data for future examples.
  12. Developing POJO class
    In this lesson we will write the java class and add necessary code in the contact.hbm.xml file.
  13. HQL from Clause Example
    The from clause is the simplest possible Hibernate Query. In this example you will learn how to use the HQL from clause.
  14. HQL Select Clause Example
    In this lesson we will write example code to select the data from Insurance table using Hibernate Select Clause.
  15. Hibernate Count Query
    In this section we will show you, how to use the Count Query. Hibernate supports multiple aggregate functions. when they are used in HQL queries, they return an aggregate value (such as sum, average, and count) calculated from property values of all objects satisfying other query criteria.
  16. Hibernate Avg() Function (Aggregate Functions)
    In this section, we will show you, how to use the avg() function. Hibernate supports multiple aggregate functions. When they are used in HQL queries, they return an aggregate value ( such as avg(...), sum(...), min(...), max(...) , count(*), count(...), count(distinct ...), count(all...) ) calculated from property values of all objects satisfying other query criteria.
  17. Hibernate Max() Function (Aggregate Functions)
    In this section, we will show you, how to use the Max() function. Hibernate supports multiple aggregate functions.
  18. Hibernate Min() Function (Aggregate Functions)
    In this section, we will show you, how to use the Min() function. Hibernate supports multiple aggregate functions.
  19. HQL Where Clause Example
    Where Clause is used to limit the results returned from database. In this lesson you will learn how to use HQL Where Clause.
  20. HQL Group By Clause Example
    Group by clause is used to return the aggregate values by grouping on returned component. In this lesson you will learn how to use HQL Group By Clause.
  21. HQL Order By Example
    Order by clause is used to retrieve the data from database in the sorted order by any property of returned class or components. In this lesson you will learn how to use HQL Order By Clause.


    Hibernate Criteria Query
  22. Hibernate Criteria Query Example
    In this lesson you will learn how to use Hibernate Criteria Query.
  23. Narrowing the result set
    In this lesson you will learn how to use Hibernate Criteria Query to narrow down the result data.
  24. Hibernate's Built-in criterion: Between (using Integer)
    In this tutorial,, you will learn to use "between" with the Integer class. "Between" when used with the Integer object, It takes three parameters e.g. between("property_name",min_int,max_int).
  25. Hibernate's Built-in criterion: Between (using Date)
    In this section, you will learn to use "between" i.e.one of the built-in hibernate criterions. Restriction class provides built-in criterion via static factory methods.
  26. Hibernate Criteria Expression (eq)
    In this section, you will learn to use the "eq" method. This is one of the most important method that is used to apply an "equal" constraint to the named property.

  27. Hibernate Criteria Expression (lt)
    In this section, you will learn to use the "lt" method. This is one of the most important method that is used to apply a "less than" constraint to the named property.
  28. Hibernate Criteria Expression (le)
    In this section, you will learn to use the "le" method. This is one of the most important method that is used to apply a "less than or equal" constraint to the named property.
  29. Hibernate Criteria Expression (gt)
    In this section, you will learn to use the "gt" method. This is one of the most important method that is used to apply a "greater than" constraint to the named property
  30. Hibernate Criteria Expression (ge)
    In this section, you will learn to use the "ge" method. This is one of the most important method that is used to apply a "greater than or equal" constraint to the named property.
  31. Hibernate Criteria Expression (and)
    In this section, you will learn to use the "and" method. This is one of the most important method that returns the conjunctions of two expressions. You can also build the nested expressions using 'and' and 'or'.
  32. Hibernate Criteria Expression (or)
    In this section, you will learn to use the "or" method. This is one of the most important method that returns the disjunction of the two expressions. You can also build the nested expressions using 'and' and 'or'.
  33. Insert Data into Database Using Hibernate Native SQL
    In this example we will show you how you can use Native SQL with hibernate. You will learn how to use Native to insert data into database. Native SQL is handwritten SQL for all database operations like insert, update, delete and select.

  34. Hibernate Native SQL Example
    Native SQL is handwritten SQL for all database operations like create, update, delete and select. Hibernate Native Query also support stored procedures.
  35. Associations and Joins
    This section includes a brief introduction about Associations and Joins along with examples.
  36. Hibernate Aggregate Functions (Associations and Joins)
    This example tries to make understand about the aggregate function of Hibernate with the help of example.
  37. Hibernate Subqueries
    In this section, you will learn about the subqueries with an appropriate example.


    Hibernate Projections Tutorials and Examples
  38. Hibernate Projections
    In this section, you will learn about the hibernate projections with an appropriate example.
  39. Hibernate Projections (rowCount or countDistinct)
    In this section, you will learn about the hibernate projection with an example. Projection Interface: This is an interface that extends the Serializable.
  40. Hibernate Projection Count
    In this section, you will learn to hibernate projection count. The example demonstrates the rowCount() method of the projection interface.
  41. Hibernate Projection Example (Sum)
    In this section, you will learn to hibernate aggregate function like: sum() using hibernate projection.
  42. Hibernate How To?
  43. Hibernate types
    This section gives you description of all the Types that are supported by Hibernate. A Hibernate Type is used to map a Java property type to a JDBC type or types.
  44. Hibernate Books
    List of many best hibernate books.
  45. Hibernate Named Query
    Hibernate names query example.
  46. Hibernate 3 Query Example - Part 1
    Hibernate 3 Query example using Spring MVC.
  47. Hibernate 3 Query example - Part 2
    In this section we will show you how to run the example code.
  48. Hibernate Introduction & Configuration
    This section contains the hibernate 4 introduction.

  49. Hibernate 4 Simple Example
    This section contains a simple Hibernate 4 example using Annotation with source code. The eclipse id and Apache Tomcat is used in this example.

Hibernate Mapping
In this Hibernate Mapping tutorials series you will learn Hibernate in depth. We will show everything on Hibernate Mappings with running code example.

About Author

Struts Hibernate Integration Tutorial NEW
In this tutorial I will show you how to integrate Struts and Hibernate. After completing this tutorial you will be able to use Hibernate in your Struts project. Download the source code of Struts Hibernate Integration Tutorial.

  1. Setting up MySQL Database and table
    This section describes how to setup database and populate it with the data. We are using MySQL Database for this tutorial.
  2. Downloading Struts, Hibernate and Integrate It
    This section explains you to setup the develop workbench for our Struts Hibernate tutorial
  3. Writing Hibernate configuration file, POJO class and Tutorial.hbm.xml (Hibernate mapping class)
    In this section we will write required hibernate objects like configuration files and then integrate all the stuffs.
  4. Developing Hibernate Struts Plugin
    In this section we will write Hibernate Struts Plugin Java code and integrate it with the Struts.
  5. Writing Web Client to Search the database using Struts Hibernate Plugin
    In this section we will write web client to test struts Plugin. We will be developing a search form to search the tutorials from the table.
  6. Build and testing the application
    In this section we will build our Struts Hibernate Plugin Application and then test.

    Hibernate Annotations
  7. Hibernate Annotations
    Hibernate Annotations examples and tutorials.
  8. Quick Hibernate Annotation Tutorial
    This tutorial covers only the Annotations part. The reader must have hands on experience before starting this tutorial.

Hibernate Tutorials By R.S.RAMASWAMY
Email:
ramrsr@rediffmail.com

  • HIBERNATE BASICS - Part1
    INTRODUCING HIBERNATE - HIBERNATE is an ORM ( Object-Relational-Mapping) technology. It is an Open-Source and free technology , developed in SourceForge.net. There have been a number of such ORM technologies, in recent past..
  • HIBERNATE BASICS - Part 2
    In this second part of the tutorial, the author outlines the basic features of the Hibernate environment and the code for performing the usual DB operations.
  • HIBERNATE BASICS - Part 3
    In this part of the author gives a demo for using Hibernate in a console application & a servlet.
Hibernate News
  • Hibernate 3.1.3 Released
    Hibernate 3.1.3 has been released with new features and promises on March 20, 2006. This is mainly a bug-fix release.
  • Hibernate 3.1.2 Released
    This release fixes, amongst other minor bugs/enhancements:
    * bugs with Session closure checking
    * some potential bugs in HQL parameter binding - especially mixing named and ordinal parameters
    * issues with "borrowed connections" (i.e. Session.connection()) with aggressive connection releasing.
  • Hibernate 3.1.1 Released
    Hibernate 3.1.1 has been released with new features and promises on Jan 13, 2006. This maintenance release focused on bug fixes and improvements.