То, как я предотвращаю JPA, вставляет от блокировки таблицы базы данных?

Последовательность символов между < и> исключительно обращаются к заголовку, который является не обязательно файлом. Реализации являются в значительной степени бесплатными использовать последовательность символов, как они желают. (Главным образом, однако, просто рассматривайте его как имя файла и сделайте поиск в эти включает путь , как другие сообщения указывают.)

, Если эти #include "file" форма используется, реализация сначала ищет файл имени, если поддерживается. Если не (поддерживаемый), или если поиск перестал работать, реализация ведет себя, как будто другой (#include <file>) форма использовалась.

кроме того, третья форма существует и используется, когда #include директива не соответствует ни одной из форм выше. В этой форме некоторая основная предварительная обработка (такая как макрорасширение) сделана на "операндах" #include директива, и результат, как ожидают, будет соответствовать одной из двух других форм.

5
задан James McMahon 30 July 2009 в 19:50
поделиться

3 ответа

Вставляете ли вы все 700 строк с помощью той же транзакции?

Где граница вашей транзакции? Если бы вы могли снизить границу транзакции, т. Е. Только транзакцию, фактическую операцию вставки, чтобы блокировка была жесткой.

Если вам нужно, чтобы весь процесс был атомарным, возможно, стоит записать его во временную таблицу, а затем выполнить массовую (быструю) вставку, чтобы вставить его в основную таблицу.

1
ответ дан 15 December 2019 в 06:32
поделиться

Вы пытаетесь сделать 700 запросов мыла за одну транзакцию JPA? Не делай этого. : -)

0
ответ дан 15 December 2019 в 06:32
поделиться

Вероятно, вам нужно изменить уровень изоляции.

Вот некоторая информация: http://www.interview-questions-tips-forum.net/index.php/Your-Questions-on-Java/JDBC-Transaction/Transaction-Isolation-Levels

В нем говорится о различных уровнях изоляции , и от чего они могут помочь. Общий способ сделать это - начать со строгости, а затем пойти ниже, если вам нужно лучшее время отклика, при этом помня о требованиях целостности данных / ложных чтений.

edit

Уровни транзакций Spring используются для абстрактные уровни изоляции транзакций JDBC (или любых других) в диспетчере транзакций. Они определены в классе TransactionDefinition и являются статическими членами.

TransactionDefinition.ISOLATION_DEFAULT
Default isolation

TransactionDefinition.ISOLATION_READ_UNCOMMITTED
Lowest level of isolation; allows transactions to see uncommitted modifications from other transactions

TransactionDefinition.ISOLATION_READ_COMITTED
Cannot read uncommitted data

TransactionDefinition.ISOLATION_REPEATABLE_READ
Ensures repeatable reads

TransactionDefinition.ISOLATION_SERIALIZABLE
Most reliable; all transactions are executed atomically, and are treated as though they occurred serially.

Также существуют уровни распространения транзакций. Вы можете использовать транзакцию для чистого чтения, что может быть излишним - чтение не требует транзакций, запись должна ВСЕГДА сопровождаться транзакцией. Уровни распространения также определены в TransactionDefinition. Они используются, как правило, в файле соединений Spring, чтобы определить сериализацию и распространение для конкретного вызова. Если у вас есть пример вашей проводки, я мог бы дать еще несколько советов / информации.

2
ответ дан 15 December 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: