Java threads locking on a specific object

前端 未结 10 1029
抹茶落季
抹茶落季 2020-12-12 00:06

I have a web application and I am using Oracle database and I have a method basically like this:

public static void saveSomethingImportantToDataBase(Object t         


        
10条回答
  •  悲&欢浪女
    2020-12-12 00:36

    My opinion is you are not struggling with a real threading problem.

    You would be better off letting the DBMS automatically assign a non conflicting row id.

    If you need to work with existing row ids store them as thread local variables. If there is no need for shared data do not share data between threads.

    http://download.oracle.com/javase/6/docs/api/java/lang/ThreadLocal.html

    An Oracle dbms is much better in keeping the data consistent when an application server or a web container.

    "Many database systems automatically generate a unique key field when a row is inserted. Oracle Database provides the same functionality with the help of sequences and triggers. JDBC 3.0 introduces the retrieval of auto-generated keys feature that enables you to retrieve such generated values. In JDBC 3.0, the following interfaces are enhanced to support the retrieval of auto-generated keys feature ...."

    http://download.oracle.com/docs/cd/B19306_01/java.102/b14355/jdbcvers.htm#CHDEGDHJ

提交回复
热议问题