If you use JDBC to send data to the database, it will take care of any necessary transformations. Just send the data as a String and, assuming your database is set up for Unicode properly, you will safely store a Unicode string. There's no need to use escape sequences or HTML entities. In fact, these are a bad thing because the database won't know they are Unicode. It will just see a sequence of ASCII characters. I recommend reading the JDBC tutorial.
So I would say the choice should not be between storing the characters as NCRs or Unicode escape sequences, but rather between storing them as normal UTF-8 or escape sequences.
I would normally recommend storing the characters simply as UTF-8 encoded, mainly because that will ensure that you don't have to perform conversion if you have to interface with other DBs or with other middleware. So I would recommend implementing a native2ascii conversion on the characters when they are extracted (if that is possible).
I am using JDBC API to store data in the database and it is storing in native format. I have no problem to retrieve it from base using the JDBC API. For me as part of master data, i need to execute some SQL statements. Is there any way to insert native format to database using insert query and that should also be easily convertible by JDBC as in case of other native format data stored from application.